常见的Android优化方案

收集整理了平时工作中常见的需要注意的优化方案,文章只是以提纲的方式列出,没有做深入分析,其目的只是起到一个提醒的作用,在脑中有这个概念即可,工作中能有想到,然后能以keyword的方式搜索到就够了。

布局优化

1、<include>标签避免重复布局

2、<merge>标签和<include>合并使用减少层级关系

3、使用ViewStub进行按需加载布局。比如网络异常页面,只在网络异常的情况下加载,避免多余的布局和绘制时间。

绘制优化

1、避免在onDraw中做过于复杂的事情。如heavy calculate,for循环等

内存泄露优化

1、内存泄露可以使用MAT或LeakCanary检测

2、注意以下几种场景导致的内存泄露

       1)单例模式,生命周期和Application一致。内部最好不要持有activity等引用实例

       2)静态变量导致内存泄露,静态变量和类的生命周期一致

响应速度和ANR优化

 1、核心思想:避免在UI线程做过多操作

 2、可以采用RxJava和RxAndroid进行优雅的线程切换来避免

网络优化

1、客户端缓存ip列表,避免DNS请求

2、数据按需拉取,用到了才请求

3、时间戳优化。当服务端有新数据才进行优化

4、日志上报优化:本地合并日志,延迟上报

Bitmap优化

1、采用BitmapFactory.Options来压缩图片

2、采用LruCache和DiskLruCache进行图片缓存

ListView/GridView优化

1、采用ViewHolder

2、滑动时不宜启动大量异步任务。比如异步加载图片。首先会开启大量线程(可以用线程池优化),其次会在短时间内有大量的UI更新操作,造成卡顿。

3、不要在getView中的主线程内做耗时操作。

线程优化

1、可以采用线程池代替线程。

2、使用Excutor、ExcutorService、ThreadPoolExecutor等现成的javaapi代替。这也是Effective Java中推荐的做法。

架构优化

1、使用mvp、mvvm分层解耦。

2、针对复杂的APP可以使用MultiDex进行模块化解耦。

其他优化

1、多使用官方推荐的库

2、哪些技术最火就用哪些,一般没有问题。

3、多使用优秀的第三方库。

未完待续…

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Android 项目优化可以从多个方面进行考虑和改进。以下是一些建议: 1. 布局优化:使用合适的布局容器和视图组件,避免嵌套过深的布局层级。使用 ConstraintLayout 可以减少视图层级,提高性能。避免使用过多不必要的布局文件。 2. 图片资源优化:使用合适大小和格式的图片资源,避免使用过大的图片。可以使用工具对图片进行压缩和优化,以减小 APK 大小。 3. 内存管理:及时释放不再使用的对象,避免内存泄漏。合理使用缓存,避免重复加载数据。使用 Android Profiler 工具进行内存分析和优化。 4. 网络请求优化:减少网络请求次数,合并和压缩网络请求数据。可以使用缓存机制,避免重复请求相同的数据。使用异步任务或者线程池进行网络请求操作,避免在主线程中执行耗时操作。 5. 数据库优化优化数据库查询语句,避免频繁的查询和更新操作。使用索引提高查询效率。合理使用事务,减少数据库操作次数。 6. APK 大小优化:移除无用的资源文件和库文件,减小 APK 大小。使用 ProGuard 或者 R8 对代码进行混淆和优化,减小 APK 大小。 7. 响应速度优化:合理使用多线程和异步任务,避免在主线程中执行耗时操作。使用 RecyclerView 替代 ListView,使用分页加载数据,减少内存占用和渲染时间。 8. 电量优化:避免频繁的唤醒设备和后台任务,合理使用电量管理机制。使用 JobScheduler 或者 WorkManager 进行后台任务调度,减少电量消耗。 这些只是一些常见Android 项目优化建议,具体的优化方案还需根据具体项目情况进行分析和实施。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值