美文网首页
安卓内存回收机制

安卓内存回收机制

作者: 若有似无的小依赖 | 来源:发表于2019-10-24 10:19 被阅读0次

退出但不关闭:

  这是Android对于Linux的优化。当 Android 应用程序退出时,并不清理其所占用的内存,Linux 内核进程也相应的继续存在,所谓“退出但不关闭”。从而使得用户调用程序时能够在第一时间得到响应。

  应用切换到后台是暂停的,完全不耗cpu和电量,只保留了运行状态。如果app需要后台处理事务(放音乐),那么app进程会开启相应的服务,所以在后台有消耗的只有服务。

  占用CPU的应用才耗电,后台的只占内存,所以是不耗电的。

回收优先级:

  Android 基于进程中运行的组件及其状态规定了默认的五个回收优先级:

  IMPORTANCE_FOREGROUND:前台进程,目前正在屏幕上显示的进程和一些系统进程。

  IMPORTANCE_VISIBLE:可见进程,可见进程是一些不再前台,但用户依然可见的进程,比如输入法、天气、时钟等。

  IMPORTANCE_SERVICE:服务进程,拨号、邮件存储之类的。

  IMPORTANCE_BACKGROUND:后台进程,启动后被切换到后台的进程。

  IMPORTANCE_EMPTY:没有任何东西在内运行的进程,有些程序,比如BTE,在程序退出后,依然会在进程中驻留一个空进程,这个进程里没有任何数据在运行,作用往往是  提高该程序下次的启动速度或者记录程序的一些历史信息。

对Android内存泄露业界已经有很多优秀的组件其中LeakCanary最为知名

Android常见内存问题

1. 内存泄露

不止Android程序员,内存泄露应该是大部分程序员都遇到过的问题,可以说大部分的内存问题都是内存泄露导致的,这里简单罗列下:

单例(主要原因还是因为一般情况下单例都是全局的,有时候会引用一些实际生命周期比较短的变量,导致其无法释放)

静态变量(同样也是因为生命周期比较长)

Handler内存泄露[7]

匿名内部类(匿名内部类会引用外部类,导致无法释放,比如各种回调)

资源使用完未关闭(BraodcastReceiver,ContentObserver,File,Cursor,Stream,Bitmap)

原文:https://blog.csdn.net/a15838319826/article/details/72239149

版权声明:本文为博主原创文章,转载请附上博文链接!

相关文章

  • 安卓内存回收机制

    退出但不关闭: 这是Android对于Linux的优化。当 Android 应用程序退出时,并不清理其所占用的内存...

  • Android 内存回收机制:回收Activity,还是杀掉Pr

    Android在内存不足的时候,会进行内存回收。内存回收时,具体做了什么呢? Andriod的官方文档 根据安卓官...

  • python拾遗7 - 垃圾回收

    垃圾回收机制 相比 C++ 的手动回收内存,python 的垃圾回收机制可谓是省心省力,判断是否回收一块内存,主要...

  • 对 Java 内存的一些理解-[Android_YangKe]

    Java 垃圾回收机制优点 Java 内存模型 什么是内存抖动 什么是内存泄漏 垃圾回收机制常见算法 Java 垃...

  • Redis 对象共享、内存回收、空转时长

    内存回收 C 语言不具备内存回收功能,所以 Redis 构建了一个由引用计数实现的内存回收机制,通过这一机制,程序...

  • 2018-10-13

    浅谈浏览器的垃圾回收机制和内存泄露 JavaScript使用垃圾回收机制来自动管理内存。 JS的回收机制分两种:1...

  • try catch finally

    java的垃圾回收机制不会回收任何的物理资源,垃圾回收机制只回收堆内存中对象所占用的内存 当程序执行try块,ca...

  • 2018-11-19 python学习第三天

    1、内存回收机制: 在其他语言中需要考虑内存回收机制,垃圾数据太多会导致内存溢出。但是python语言无需考虑这点...

  • JS垃圾回收机制(内存问题)

    垃圾收集机制理解 垃圾收集机制:释放无用的数据,回收内存。 垃圾收集机制分类:1)自动回收 2)手动回收 垃圾收集...

  • 直击面试,聊聊 GC 机制

    GC 中文直译垃圾回收,是一种回收内存空间避免内存泄漏的机制。当 JVM 内存紧张,通过执行 GC 有效回收内存,...

网友评论

      本文标题:安卓内存回收机制

      本文链接:https://www.haomeiwen.com/subject/ximpyftx.html