Android手机需要清内存吗?需要吗?需要吗?需要吗?结论是再明显不过:不需要!其实这个结论也适用iPhone手机,iOS在内存管理方面更为激进。

很长一段时间以来,人们通过以下的办法清理手机内存

1.通过清理程序的缓存文件

2.下载单独的软件,清理手机内存

3.系统UI自动清理手机

看着各种软件火速清理内存的图片,瞬间感觉自己手机变快了的小伙伴没有有?可经过调查发现,这样的清理内存举动,除了心理上让手机用户感觉快点以外,并没有太多实际用处。下面,我们将从实际安卓实际运行机制来阐述这个问题。

Android中可用内存只是个没意义的数字

在Windows中,可用内存是越多越好,但在Android中,完全不必在意这个数据。在下图中,有着3GB内存的某手机,实际可用内存只有1.3GB左右(MemFree+Cached),你可千万别说这个系统好垃圾,只能显得自己的无知。

MemFree+Cached才是真正可使用的内存容量

Windows中只有需要用到内存时才会为程序分配内存,一旦这个程序被关闭,分配的内存也就释放出来成为新的可用内存。然而绝大多数Android应用都没有退出的菜单设计,这些运行过的应用无非是从前台转入到后台,大多数依旧保留在内存中并不会也不需要主动释放,这样下次再运行该应用时,可以更快的启动。

无论手机的物理内存有多大,Android都能将其充分利用,将需要用到(包括之前用过的)的数据从硬盘读入到内存,利用内存的高速保证系统的数据访问性能,也就是说,可用内存越小,内存的利用率就更高,其中的数据就越多,数据访问的命中率就越高,系统也就越快。

实用性第一!Android内存管理机制

有多少内存就用多少,空闲内存全部当缓存。也就是,当一个进程停止活动,Windows 会把它从内存中清除,但Android会把进程保留在内存里,这样下次启动时就会非常快,因为省去了再次从储存设备读取的时间,只有当内存不足以启动一个新进程时,Android 才会清除某些驻留在内存中停止活动的进程。

每个进程以Java 虚拟机独立存在,互不干扰。确保 Android 的稳定性,正常情况下即使单个进程崩溃,整个系统也不会崩溃,也永远没有内存不足的提示出现。

万万没想到Android有着优秀的内存回收机制

作为Android的开发语言Java没有提供任何操作来释放内存(这也是与iOS很大的不同点),是通过系统的内存回收机制来进行管理。Android使用了一个名为Low Memory Killer(LMK)的机制来管理内存,当内存出现不足时,LMK就开始挥舞屠刀杀掉一些进程。

Android会对进程的重要性进行评估,以oom_adj来表示,oom_adj的值越小,则重要性越高,oom_adj的值越大,该进程被系统选中杀掉的可能性越高,当oom_adj值为0,这意味着它永远不会被系统终止。Android有一套自己独特的进程管理,比如可以设定“当内存小于22M时,结束oom_adj大于14的进程”这样的策略,可以看到oom_adj非常重要,关乎进程的死生命运。

在默认策略中,当内存低于24MB(6144×4K)时,LMK就会杀掉所有oom_adj为15的进程(即空进程),这个警戒值可以人为修改,一般情况下也没必要去改变它。为了更好的评估进程的重要性,Android将进程分为六类。

总有一些坏孩子,注意那些偷电和流量的程序

正常的用户应用在退出之后要不就成为后台进程,要不就成为空进程。这些进程已经暂停了运行,不占用 CPU 资源和电量。在内存不足,用户需要打开另外的应用时,就会自动清除掉,所以完全不需要清理内存。相反有时清理了内存之后系统反而需要用大量的电量和 CPU 去重启必要的进程。

一些不安分的应用作者在写应用的时候就为应用申请了各种各样的主要服务和次要服务,导致用户退出后仍然继续运行。这种现象在一些国产应用上尤其常见。

——转自电脑报读者俱乐部微信

android图片释放内存吗,Android手机真的需要经常清理内存吗相关推荐

  1. 32g内存 android开发,堪比台式电脑,手机真的需要用到16G内存,32G内存何时能到来?...

    从今年开始除了5G之外,智能手机还迎来了几个重要更新,一个就是UFS 3.1,一个WiFi 6,还有一个就是LPDDR5,也就是第五代低功耗内存版本,手机内存性能提升的同时,大小容量也在不断提升,已经 ...

  2. android图片转换为二进制流,Android图片二进制与Bitmap、Drawable之间的转换

    Android图片二进制与Bitmap.Drawable之间的转换 Java代码 public byte[] getBitmapByte(Bitmap bitmap){ ByteArrayOutput ...

  3. android图片gif动画效果,android中类似于gif 实现图片的动画效果

    案例:实现gif动画效果,连续播放图片 由于是转载的,也就没必要多说,直接上代码 案例:在android中实现gif动态图片的效果: EarthAnimationActivity.java packa ...

  4. android 图片变颜色代码,Android -对图片Drawable进行变色

    Android 图片DrawableCompat利用setTint()对图片Drawable进行变色 1.利用color资源对Drawable变色 Drawable对象的来源不限制,可以是从资源get ...

  5. android 图片预览动画,Android实现仿Windows7图片预览窗格效果

    本实例将显示类似于windows7提供的图片预览窗格效果,单击任意一张图片,可以在右侧显示该图片的预览效果. 效果如图所示: 具体实现方法: res/layout/main.xml: android: ...

  6. android 图片轮播组件,Android客户端实现图片轮播控件

    本文和大家一起写一个Android图片轮播控件,供大家参考,具体内容如下 1. 轮播控件的组成部分 我们以知乎日报Android客户端的轮播控件为例,分析一下轮播控件的主要组成: 首先我们要有用来显示 ...

  7. android 图片的处理方法,Android图片处理,ImageView的属性和方法大全

    原标题:Android图片处理,ImageView的属性和方法大全 通过前面几期的学习,TextView控件及其子控件基本学习完成,可以在Android屏幕上显示一些文字或者按钮,那么从本期开始来学习 ...

  8. linux查看主板最大内存容量,Linux下查看内存插槽数、最大...-linux下手动清理内存或缓存的...-查看linux主板内存槽与内存信息的方法详解_169IT.COM...

    一.先来看几个用dmidecode查看内存信息的例子. 1.查看内存槽数.那个槽位插了内存,大小是多少 代码示例: dmidecode|grep -P -A5 "Memory\s+Devic ...

  9. android 图片释放内存吗,手机内存不足?掌握这几招让手机瞬间释放几个G!

    原标题:手机内存不足?掌握这几招让手机瞬间释放几个G! 以前的手机内存8G.16G不够用,现在的手机内存64G.128G对于有些人来说依旧不够用,天天清理手机但是并没有什么用,还是会提醒手机内存不足, ...

最新文章

  1. 用上GAN的推荐算法成精了,看完视频马上刷出相关文章丨KDD 2021
  2. Linux安全学习总结
  3. 在centos 7 下安装图形界面
  4. Matlab线性/非线性规划优化算法(1)
  5. Vivado生成bit文件布局失败解决
  6. linux系统里route -n不起作用,Linux系统中的route解析
  7. 测速源码_物联网之智能平衡车开发实战项目(附源码)
  8. 13.UNIX 环境高级编程--守护进程
  9. C语言指针详解(通俗易懂)
  10. stm32L1xx系列低功模式配置+STOP模式+RTC唤醒
  11. Shader特效之图片波动炫光效果
  12. e4e反演框架:Designing an Encoder for StyleGAN Image Manipulation
  13. M1版本Photoshop2021原生ARM完整安装方法下载(适配M1芯片全系Mac教程)
  14. 设置视频(Video)模式
  15. vuex:状态管理库,分5大模块:
  16. 【项目】问答系统-代码-后台
  17. 去哪找到高薪工作怎么找
  18. 移动端Web不安分的小键盘
  19. 两家出版社称考虑将莫言作品编入中学教材-莫言-教材-诺贝尔奖
  20. 集团企业邮箱哪个好用?企业邮箱价格多少钱?

热门文章

  1. 分享一下短视频创作者要掌握的短视频创作四个关键点
  2. Java实现 LeetCode 406 根据身高重建队列
  3. P3338-力(FFT)
  4. Python爬取去哪网旅游景点保存到csv文件
  5. 网吧无盘xp系统服务器,无盘XP系统组建
  6. 编译ODA Toolkit Xtension SDK v3_9_1
  7. linux回到桌面的命令符_Linux最常用命令及快捷键整理
  8. thinkphp5 mysql uuid_ThinkPHP框架String类详解
  9. 韩顺平Java自学笔记 项目 房屋出租
  10. 瑞芯微 TB-RK3399Pro --基于YOLOv4的销钉缺陷检测(Detection of Pin Defects)