Android内存优化--概览

博客聚焦Android内存优化,指出内存问题隐蔽且易被忽视,如内存抖动、泄漏和溢出。介绍了Memory Profiler、Memory Analyzer和LeakCanary等工具,还提及LargeHeap属性、onTrimMemory回调等优化细节,强调Bitmap是内存消耗大户。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

内存优化

 

介绍

(1)内存是大问题,但缺乏关注

(2)内存问题,往往比较隐蔽,bug表现和真正的原因往往不是一个,压死骆驼的最后一根稻草

 

内存问题

(1)内存抖动:通过工具发现内存是锯齿状,内存抖动会导致GC频繁,GC频繁会导致卡顿

(2)内存泄漏:会导致可用内存减少,在内存不够时,GC执行频繁

(3)内存溢出:OOM,程序异常

 

工具

(1)Memory Profiler   (Android studio 集成工具)

a)实时图表展示应用内存使用量

b)识别内存泄漏,抖动等

c)提供捕获堆转储,强制GC以及跟踪内存分配的能力

(2)Memory Analyzer

a)强大的Java Heap分析工具,查找内存泄漏及内存占用

b)生成整体报告,分析问题等

c)线下深入使用

(3)LeakCanary

a)自动内存泄漏检测,是一个库

b)网站:https://github.com/square/leakcanary

c)线下集成。

 

细节

(1)LargeHeap属性

默认一个应用的内存是256M,当开启了LargeHeap后,内存就是 256 x 2 = 512 M。

(2)onTrimMemory

系统提供的低内存回调,当应用收到这个回调后,可以做一些处理,比如清除所有的图片缓存。

(3)使用系统给我们优化过的集合:SparseArray

(4)谨慎使用SharePreference

(5)谨慎使用第外部库,有些外部库往往没有经过大规模使用的验证

(6)业务架构要相对合理

 

Bitmap 优化

Android 的内存消耗,最消耗内存的就是Bitmap。

 

 

面试

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值