ZNDS智能电视网 推荐当贝市场

TV应用下载 / 资源分享区

软件下载 | 游戏 | 讨论 | 电视计算器

综合交流 / 评测 / 活动区

交流区 | 测硬件 | 网站活动 | Z币中心

新手入门 / 进阶 / 社区互助

新手 | 你问我答 | 免费刷机救砖 | ROM固件

查看: 26598|回复: 15
上一主题 下一主题
[分享]

内存回收机制哪家强?android及ios内存回收机制优劣对比

[复制链接]
跳转到指定楼层
楼主
发表于 2015-2-18 00:15 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
来点涨姿势的吧。

  现在电视市场的新品非常非常少,就算是发布新品也围绕着处理器核心和屏幕分辨率进行的。

  而手机市场上却又辣么辣么多的新品发布,动不动就是2K屏幕、8核心及3G内存。

  说到内存,各位使用过安卓设备的朋友一定希望安卓系统的内存越大越好。但反观来看,苹果的设备内存却一直为此在1GB呢?(新出的ipad air2为2GB内存,但是可以暂时不提。)

  其实这是安卓系统及ios系统内存回收机制的区别。

  所以,本篇就来点涨姿势的内容吧:内存回收机制哪家强?android及ios内存回收机制优劣对比。

  其实探讨到内存回收机制,不得不得到双方的开发平台:java和Objective-C。

Java

  Java里内存的回收是由JVM虚拟机控制的,回收时间及回收量完全是由JVM决定。优势是攻城狮完全不用操心内存泄露的问题和非法访问。

  简而言之是Android所有可用的内存仅限于系统 RAM,当 Android 应用程序退出时,并不清理其所占用的内存,Linux 内核进程也相应的继续存在,所谓“退出但不关闭”。从而使得用户调用程序时能够在第一时间得到响应。当系统内存不足时,系统将激活内存回收过程。为了不因内存回收影响用户体验(如杀死当前的活动进程)。

  回收过程就是GC,具体可以描述为:

内存回收机制哪家强?android及ios内存回收机制优劣对比
  内存回收的线程:主线程变成→低线程;单线程变成→多线程

  内存回收时机:App空闲时、可用内存少时、分配大内存空间不够时

  内存回收方式:无分代技术,一次性GC所有对象;分代技术,分为年轻、老年代、持久代。

Objective-C

  Objective-C的内存回收方式是引用计数的内存回收方式。凡是继承NSObject的类生成的对象,当对象的计数为0,会对对象执行dealloc并回收。引用计数有个缺点,无法解开循环引用。设想对象A引用B, B引用A,两个对象计数都不为零,结果无法回收A和B,于是内存泄漏掉了。

  这也是为什么楼主认识的一些攻城狮经常吐槽给ios开发程序很麻烦的原因,但是很锻炼技术。

内存回收机制哪家强?android及ios内存回收机制优劣对比
对比Java的情况:

内存回收机制哪家强?android及ios内存回收机制优劣对比
内存回收机制哪家强?android及ios内存回收机制优劣对比


  Java用树描绘了对象间的引用关系。GC的任务就是把图中没有任何引用的对象B们找出来,删掉。什么算法?似乎跟不同的实现有关,我也没深入研究。JVM依赖树的结构来寻找垃圾,而Objective-C则只关心引用计数,“树”只是个附产品。

  好了。 废话了这么多,能到关键内容了么?

  嗯~

Java:

  优点:

  攻城狮不需要关心循环引用导致的内存泄露,减轻了负担

  缺点:

  1. 很难控制内存的释放时机

  2. 所有线程都要暂停以便GC。GC时间可能会很长,导致系统会很长

Objective-C:

  优点:

  内存释放及时、平滑,时机可控

  缺点:

  不小心就写出内存泄漏,要时刻保持清晰的对象间联系

上一篇:联想智能电视50s9近期反馈及建议
下一篇:联想的智能电视支持WPT直播了
沙发
发表于 2015-2-18 01:25 | 只看该作者
好纠结斤斤计较健健康康咔咔咔哦哦哦哦开机
回复 支持 反对

使用道具 举报

板凳
发表于 2015-2-18 14:02 | 只看该作者
强烈支持楼主ing……
回复 支持 反对

使用道具 举报

地板
发表于 2015-2-18 15:13 | 只看该作者
强烈支持楼主ing……
回复 支持 反对

使用道具 举报

5#
发表于 2015-2-18 16:27 | 只看该作者
学习学习!
回复 支持 反对

使用道具 举报

6#
发表于 2015-2-18 23:50 | 只看该作者
强烈支持楼主ing……
回复 支持 反对

使用道具 举报

7#
发表于 2015-2-20 23:52 来自ZNDS手机版 | 只看该作者
支持,谢谢分享
回复 支持 反对

使用道具 举报

8#
发表于 2015-2-21 19:11 | 只看该作者
学习学习!
回复 支持 反对

使用道具 举报

9#
发表于 2015-2-21 20:27 来自ZNDS手机版 | 只看该作者
非常感谢楼主
回复 支持 反对

使用道具 举报

10#
发表于 2015-2-21 20:46 来自ZNDS手机版 | 只看该作者
好好好好好好好好
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|新帖|标签|软件|Sitemap|ZNDS智能电视网 ( 苏ICP备2023012627号 )

网络信息服务信用承诺书 | 增值电信业务经营许可证:苏B2-20221768 丨 苏公网安备 32011402011373号

GMT+8, 2024-4-29 10:19 , Processed in 0.071206 second(s), 14 queries , Redis On.

Powered by Discuz!

监督举报:report#znds.com (请将#替换为@)

© 2007-2024 ZNDS.Com

快速回复 返回顶部 返回列表