Android | 兼容&异常问题分类
Android 上经常会出现崩溃,停止响应的异常问题,这篇文章对这些问题进行一个分类,并给出对应的 logcat 关键词,方便以后排除问题。
弹出报错提示框
一般情况下,当程序报错时,有弹出框出现都是 java 层代码崩溃导致,
logcat 关键字:AndroidRuntime,System.err,crash
没有弹出框提示,闪退
这种情况一般都是 c/c++层内容崩溃.
logcat 关键字:fatal, exception, jni, libc,Build fingerprint, backtrace
弹出无响应提示框
这种情况是 ANR 无响应导致的,可在日志中查找 anr 关键字。
anr 问题定位时,需要手机里面的 /data/anr/traces.txt 作为问题定位分析日志。
界面被覆盖,显示不全
我们的手机屏幕分辨率、DPI、比例较特殊,与其他厂商不一致,容易造成屏幕适配问题。
黑屏
对于游戏,可能是因为它是针对某个特定的显卡平台开发的,某些绘图操作不支持等。
对于 App,可能是强制 GPU 渲染打开了导致的。
应用卡顿,动画不流程问题
遇到这样的问题,可以分析,渲染帧率,软件绘图层级复杂度,可参考 2D/3D 图形渲染问题分析
兼容问题分析工具
HierarchyViewer: 查看应用程序的界面布局
adb logcat:查看 Log。
debug framework:设备断点调试,添加 Log 输出。
apktool:解包 apk 文件,分析其中的资源、布局文件、smali 代码。
dex2jar, jd-gui:把 apk 转为 jar,通过 jd-gui 可以查看 jar 中的 java 源码。
本文是原创文章,采用 CC BY-NC-ND 4.0 协议,完整转载请注明来自 Gavin Liu - 代码人生与科技生活
评论