常见的App优化一般涉及到以下几个方面::
- App启动优化
- 布局优化
- 响应优化
- 内存优化
- 电池使用优化
- 网络优化
具体可以参考https://www.jianshu.com/p/da2a4bfcba68
1.ANR产生的原因:首要原因就是在主线程(UI线程)里面做了太多的阻塞耗时操作, 例如文件读写, 数据库读写, 网络查询等等.
2.ANR的处理。
针对三种不同的情况, 一般的处理情况如下
-
主线程阻塞的
开辟单独的子线程来处理耗时阻塞事务. -
CPU满负荷, I/O阻塞的
I/O阻塞一般来说就是文件读写或数据库操作执行在主线程了, 也可以通过开辟子线程的方式异步执行. -
内存不够用的
增大VM内存, 使用largeHeap属性, 排查内存泄露(这个在内存优化那篇细说吧)等.