Android高质量开发
关于崩溃Android 崩溃分为 Java 崩溃和 Native 崩溃。Native 崩溃捕获中最成熟的方案。使用Breakpad (传送门)工具。ANR(Application Not Responding,程序没有响应)这问题。怎么去发现应用中的 ANR 异常呢?使用 FileObserver 监听 /data/anr/traces.txt 的变化。非常不幸的是,很多高版本的 ROM...
·
关于崩溃
Android 崩溃分为 Java 崩溃和 Native 崩溃。
Native 崩溃捕获中最成熟的方案。使用Breakpad (传送门)工具。
ANR(Application Not Responding,程序没有响应)这问题。怎么去发现应用中的 ANR 异常呢?
- 使用
FileObserver监听/data/anr/traces.txt的变化。非常不幸的是,很多高版本的 ROM,已经没有读取这个文件的权限了。可以使用Google Play服务,而国内微信利用Hardcoder框架向厂商获取了更大的权限。 - 从卡顿的性能入手。
HC 框架是一套独立于安卓系统实现的通信框架,它让 App 和厂商 ROM 能够实时“对话”了,目标就是充分调度系统资源来提升 App 的运行速度和画质,切实提高大家的手机使用体验
耗电优化
检测耗电。可以使用谷歌提供的Android Vitals 工具。在国内不好用。
长时间获取 WakeLock、WiFi 和蓝牙的扫描等。
耗电优化的第二个方向是符合系统的规则,让系统认为你耗电是正常的。
实际上,所有和屏幕亮度相关的
WakeLock的 Flag ,在 API level 17+ 之上,都已经被标记废弃了。WakeLock是全局的,比较重。如果是保持屏幕亮,建议使用window flagFLAG_KEEP_SCREEN_ON(结合clearFlags()使用)。或者使用View的属性android:keepScreenOn
后台任务的处理,参考传送门
更多推荐



所有评论(0)