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源码。

Gavin Liu wechat
欢迎您扫一扫上面的二维码,订阅我的微信公众号!