- 回收机制
Android系统中会为app保持尽可能多的数据,有些进程可能已经不再使用了,但是它的数据仍保存在内存当中。
当安卓系统发现内存不足时,就会杀死其他进程,回收其内存。进程优先级分为:前台进程、可见进程、服务进程、后台进程、空进程。优先级越低的进程被系统杀死的概率就越大。
这里,注意回收效益的概念:系统会优先杀掉占用内存更大的进程。
###内存优化方法
- 当Service完成任务后,尽量停止它。尽量用IntentService替代Service。Service是在主线程中工作,而IntentService是在工作线程工作。IntentService在工作完成时自动退出,而Service停止需要调用其Stop方法。
- 在UI不可见时,释放一些只有UI使用的资源。onTrimMemery。
- 避免滥用Bitmap导致的内存浪费。
- 使用针对内存优化过的数据容器。如SparseArray替代HashMap,少用枚举常量。
- 使用ZIP对齐的APK。
- 使用多进程。
###内存溢出vs内存泄漏
内存泄漏过多导致内存溢出
Android内存管理与优化

本文介绍了Android系统的内存管理机制,包括内存的分配与回收过程。此外还提供了多种内存优化的方法,比如合理使用Bitmap和选择合适的数据容器等。同时区分了内存溢出与内存泄漏的区别。
1763

被折叠的 条评论
为什么被折叠?



