前述
之前一直做系统,最近公司项目需要,带领一帮兄弟做起了应用。发现个问题,做应用的兄弟们遇到稳定性相关的问题,好多人感觉无所适从。究其原因可能跟在技术上投入的时间不多吧。作为项目的负责人,我希望项目做完后,大家技术上多少有点成长。于是乎准备个专题奉献给那些一看到稳定性问题就无所适从的兄弟。希望有所帮助。
Android稳定性问题简述
从2种分类探讨Android稳定性问题
没有特别官方的说法说稳定性问题,暂时分为ANR和crash问题和大家探讨:
- ANR (Application Not Responding)应用无响应问题
- Crash导致的进程崩溃
说好了为了讨论和学习,自己大概这么分一下,非官方,或许不那么科学,这2种问题可能就事论事,相互独立,也可能错综复杂,相互影响:比如某些crash问题可能正是导致ANR的原因;或者某个系统进程的ANR导致系统重启;又或者某个显示进程的crash导致的冻屏。
ANR 问题简述
做应用的兄弟都知道,Android的ui刷新必须在主线程(又称作UI线程)中执行,如果出现显示刷新过慢,或者UI响应过慢,就会报告ANR。ANR是Android为了监控应用性能而特有的一种纠错机制。
ANR的触发是由于主线程