Android的内存优化相关记录
16lz
2021-01-23
内存优化
虚拟机的堆内存
adb shell cat /system/build.prop|grep dalvik.vm.heapstartsizeadb shell cat /system/build.prop|grep dalvik.vm.heapstartsize
关注如下:
- dalvik.vm.heapstartsize
开始的时候的堆大小,这个越小,可以开的越多,如果越大则一开始程序启动的时候速度就会比较快
- dalvik.vm.heapgrowthlimit
实际单个应用程序使用的最大内存
- dalvik.vm.heapsize
实际单个进程能使用的最大内存,如果heapgrowthlimit存在,则heapgrowthlimit生效
内存阈值调整
- /sys/module/lowmemorykiller/parameters/adj
此处放置的是优先等级编号,对于大于min_adj的进程,找到内存占用最大的进行清理 - /sys/module/lowmemorykiller/parameters/minfree
此处放置的是对应的最小释放阈值,到了某个阈值就会停止比这个高的所有level的进程
关于内存清理
通过SIGKILL信号清理
进程类型优先级
前台进程 > 可见进程 > 桌面进程 > 次要服务 > 后台进程 > 内容供应节点 > 空进程
内存隐患
- static
- Bitmap
- Background Picture
- View
- Application引用了Activity
- BroadCastReceiver/Service解绑
- Handler清理
- Cursor关闭
- IO流关闭
- 线程
- StringBuffer拼接
更多相关文章
- 「抄底 Android 内存优化 1」—— 虚拟内存
- 使用valgrind检测Android native程序的内存
- Android最佳实践之Notification、下拉刷新、内存及性能建议等
- android wifi RSSI达到阈值自动断开
- Android bitmap内存优化测试
- Android通过共享用户ID来实现多Activity进程共享
- [置顶] android 内存泄露那些事情之Handler(一)
- Android之进程查看,关闭(可操作所有进程)
- Android InputMethodManager 导致的内存泄露及解决方案