Android面试宝典~性能优化

响应时间优化

1、网络请求 使用优秀的网络框架库来提高请求速度 比如retrofit、okhttp

2、数据解析 推荐json 使用优秀的解析库来加快我们的解析速度,比如 Jackson、Gson

3、数据缓存 推荐使用三级缓存 内存缓存+本地数据库+网络请求

界面卡顿优化

1、避免UI主线程做耗时操作,耗时操作交给子线程完成,如需更新则使用handler

2、优化布局层级,避免过多无用嵌套,Android 通知界面渲染和重绘的时间要在16ms内完成,超出这个时间会导致丢帧。可以使用Hierarchy View进行层级分析。

内存优化

创建新的对象都需要额外的内存空间,要尽量减少创建新的对象。

将类、变量、方法等等的可见性修改为最小。

针对字符串的拼接,使用StringBuffer替代String。

不要在循环当中声明临时变量,不要在循环中捕获异常。

如果对于线程安全没有要求,尽量使用线程不安全的集合对象。

使用集合对象,如果事先知道其大小,则可以在构造方法中设置初始大小。

文件读取操作需要使用缓存类,及时关闭文件。

慎用异常,使用异常会导致性能降低。

如果程序会频繁创建线程,则可以考虑使用线程池。

你可能感兴趣的:(Android面试宝典~性能优化)