Android

邪恶机器人

97 篇文章
Android
WebView 的 JsBridge 方案,现在还有必要吗

WebView 的 JsBridge 方案,现在还有必要吗

WebView 的 JsBridge 方案,现在还有必要吗 「WebView 的 JsBridge 方案,现在还有必要吗」 上个月处理一个老项目的性能工单,用户反馈在低端机上点击 H5 页面的按钮后,Native 端要卡将近半秒才有响应。抓 Systrace 一看,时间全耗在了一条 shouldOv

Notification Channel 的分组策略,太多渠道怎么办

Notification Channel 的分组策略,太多渠道怎么办

Notification Channel 的分组策略,太多渠道怎么办 「Notification Channel 的分组策略,太多渠道怎么办」 做内容聚合类应用的工程师大概率都遇到过这个窘境:产品运营要求每个栏目单独开关通知,技术侧为了把控制权交给用户,在 Android O 之后为每个栏目都建了独

Choreographer 的帧回调,自己监听能做什么

Choreographer 的帧回调,自己监听能做什么

Choreographer 的帧回调,自己监听能做什么 「Choreographer 的帧回调,自己监听能做什么」 去年把项目里的性能监控 SDK 从基于 Handler 的埋点方案切到 Choreographer 时,我满以为这只是一个简单的 API 替换。毕竟 Choreographer 从 A

ExoPlayer 的自定义 Renderer,硬解失败 fallback

ExoPlayer 的自定义 Renderer,硬解失败 fallback

ExoPlayer 的自定义 Renderer,硬解失败 fallback 「ExoPlayer 的自定义 Renderer,硬解失败 fallback」 线上有一个崩溃在 Amlogic S905X3 方案的电视盒子上集中爆发。Android 10,ExoPlayer 2.18.1,播放 HEVC

Mediation 广告聚合,变现收益到底差多少

Mediation 广告聚合,变现收益到底差多少

Mediation 广告聚合,变现收益到底差多少 Mediation 广告聚合,变现收益到底差多少 去年 Q3 我把一个 DAU 八十万左右的工具 App 从纯 AdMob 切到了 AdMob Mediation,接了 Meta Audience Network、Mintegral、Pangle 三

Android 的内存分页与大页,对 App 有什么影响

Android 的内存分页与大页,对 App 有什么影响

Android 的内存分页与大页,对 App 有什么影响 Android 的内存分页与大页,对 App 有什么影响 去年在做一款相机 App 的内存治理时,我碰到了一个蹊跷的现象。同一套代码在 Pixel 6(Android 13)上跑 4K 60fps 预览流,Native Heap 的 RSS

Kotlin Flow 的冷流热流,实际开发到底怎么选

Kotlin Flow 的冷流热流,实际开发到底怎么选

Kotlin Flow 的冷流热流,实际开发到底怎么选 Kotlin Flow 的冷流热流,实际开发到底怎么选 去年把项目里的 LiveData 大面积迁移到 Kotlin Flow 的时候,我以为只要把 LiveData<T> 替换成 StateFlow<T>,再把 observe 改成 coll

AGP 8.0 的 R8 全模式,我迁移时遇到的坑

AGP 8.0 的 R8 全模式,我迁移时遇到的坑

AGP 8.0 的 R8 全模式,我迁移时遇到的坑 AGP 8.0 的 R8 全模式,我迁移时遇到的坑 上个月把项目的主干分支从 AGP 7.4.2 切到 8.0.0,Gradle wrapper 从 7.5 升到 8.0,compileSdk 也顺势提到了 33。Sync 过程比预想中顺利,Kot

Android 的 DNS 解析缓存,OkHttp 怎么控制

Android 的 DNS 解析缓存,OkHttp 怎么控制

Android 的 DNS 解析缓存,OkHttp 怎么控制 Android 的 DNS 解析缓存,OkHttp 怎么控制 去年一次线上切流,我们给 CDN 域名换了 A 记录指向备用集群。监控里 iOS 端的错误率在五分钟后开始回落,Android 端的超时报警却持续了近十五分钟。后端确认新 IP

Crashlytics 的自定义日志,定位 Native Crash

Crashlytics 的自定义日志,定位 Native Crash

Crashlytics 的自定义日志,定位 Native Crash Crashlytics 的自定义日志,定位 Native Crash 去年线上有一个 Native Crash 把我们折腾了挺久。信号 SIGSEGV,崩溃地址 0x0000000000000000,Firebase Consol