青岛外贸网站建设
标签云

画册设计印刷 青岛网站建设 青岛网站制作 青岛网站设计 山东网站建设 胶州网站建设 青岛建站 青岛做网站 青岛外贸网站建设 青岛logo设计 青岛VI设计 青岛标志设计 青岛设计公司 网站设计制作 手机网站设计 做网站价格 企业网站建设 如何建立企业网站 日照网站建设 临沂网站建设 青岛网站策划 网站建设设计 中小企业网站建设 logo设计公司 标志设计公司 网站设计公司 设计公司logo 企业vi设计公司 专业网站设计公司 网站建设公司 网站建设哪家公司好 网站建设多少钱 企业网站建设 网站建设方案书 网站建设与维护 企业网站建设方案 外贸网站建设 网站建设套餐 摄影网站建设 网站建设设计 高端品牌网站建设 品牌网站建设 专业网站建设公司 网站建设费用 品牌logo设计 网站logo设计 高端品牌logo设计 画册设计公司 企业vi设计公司 包装设计公司 样册设计 青岛样册设计 样册设计公司 烟台样册设计

安卓绿色联盟分析八大新闻类App内存占用情况

发布日期:2019.06.12阅读次数:734返回列表

圭谷设计6月11日消息据安卓绿色联盟消息,随着手机内存不断增大,应用的功能也日益复杂。每个App都有自己的进程,每个进程都有自己的内存空间,这样做的好处是当App出现问题的时候,系统仅仅杀死当前进程,不会导致其他的App受到牵连,回收之后释放出内存给其他App用。

其中前台进程就是正在与用青岛外贸网站建设户交互的进程,即当前使用App的进程。手机内存空间是一定的,并且需要协作和相互切换的应用越来越多,如果当前App使用的进程占用内存较大,那么预留给其他应用的内存就会变小,用户在使用过程中会感觉应用越用越卡,影响用户体验。

手机系统内存机制工作原理

用户在选择“退出”、“关闭”执行后,应用进程会被直接杀死,有些应用的生命周期并不由应用自身直接控制,而取决于系统。当系统需要释放内存来运行新的进程或者保证某些后台进程和前端进程顺利执行的时候才会释放应用内存资源。

分配机制

青岛做网站

采用弹性的分配方式为每个进程分配内存,即刚开始并不会给应用分配很多的内存,而是给每一个进程分配一个“够用”的内存大小。这个大小值是根据每一个设备的实际的内存大小来决定的。随着应用的运行和使用,系统会为进程分配一些额外的内存大小。但是分配的大小是有限度的,系统不可能为每一个应用分配无限大小的内存。

回收机制

“尽大限度的使用”:只有当内存不足的时候,才会杀死其他进程来回收足够的内存。但系统不可能随便的杀死一个进程,它也有一个机制杀死进程来回收内存。

杀死进程有两个参考条件:

1.进程优先级

系统为每一个进程分配了优先组的概念,优先组越低的进程,被杀死的概率就越大。

2.回收收益

系统会判断每个进程杀死后带来的回收收益,因为系统总是倾向于杀死一个能回收更多内存的进程,从而可以杀死更少的进程,来获取更多的内存。杀死的进程越少,对用户体验的影响就越小。

内存过高的影响

主要的影响包括:1.应用卡顿,响应速度慢;2.应用从后台进程变为空进程;3.应用莫名的崩溃等。出现的这些现象会严重影响用户体验。

测试方案

测试环境及操作步骤

1.测试环境

硬件 环境:荣耀Magic 28+128g

软件版本:9.0.0

2.测试范围

本次测试选取了8款主流新闻类App附版本:

3.预置条件

手机未安装其他第三方应用,并且应用都是首次安装

手机卸载手机管家

4.操作步画册设计印刷

下载并打开一个App,进入主页后,等待30s,获取应用内存信息,对应用进行耗时100s的测试,其中每6s自动采集一次测试数据;分别对首次启动、页面滑动和页面切换三种高频用户使用场景的数据信息进行采集整理

5.测试结果

从以上首次启动场景结果来看,8款应用中首次启动时由于需要加载和初始化信息,导致第一条测试数据明显偏大,待稳定之后,整体呈缓慢下降趋势。其中天天快报降幅明显,降幅为130MB左右。网易新闻在首次启动场景中内存消耗大,平均为318.67MB,高出表现好的新浪新闻138个百分点。

在页面滑动,即快速浏览场景中,从以上结果可以看出,同类应用内存消耗大不相同,整体呈缓慢增长趋势,各应用之间的内存差值达到414.23MB。其中今日头条增幅大,增幅近250MB左右。

在页面切换场景中,从以上结果可以看出,在切换场景中由于需要加载的数据逐渐增多,导致整体增长相对迅猛,其中天天快报增幅大,增幅347.72MB;其次是腾讯新闻,增幅354.68MB。

6.问题分 析

今日头条应用在快速浏览场景下内存增幅明显,通过对比启动时场景的内存,发现Native堆内存使用量明显增多,说明该场景下使用了较多的Native层实现  优化代码执行效率。

天天快报应用在页面切换场景下内存增幅明显,通过对比启动时场景的内存,发现Native堆内存使用量明显增多。

7.优化建议

1、必要时释放内存以响应事件

2、后台服务在任务完成后应该停止运行,避免内存泄漏

3、使用优化的数据容器,包括SparseArray,SparseBooleanArray,和LongSpa   rseArray等如果没有明显的好处 ,避免使用代码抽象(时间和内存成本较高)

4、使用nano protobufs进行序列化数据

5、避免频繁创建临时对象,以免短时间内造成大量垃圾回收事件

6、从代码中删除冗余,不必要或臃肿的组件、资源或库,如果打算在APK中使用依赖注入框架,考虑使用Dagger 2

;;
标签:
热点新闻

多一份参考,总有益处。

咨询相关问题或预约面谈,可以通过以下方式与我们联系:

朱总13805329405·18661461613

圭谷品牌设计
青岛网站设计公司青岛做网站
0532-80935115 / 13805329405
青岛网站设计公司青岛做网站
青岛网站设计公司青岛做网站
青岛网站设计公司
青岛网站设计公司青岛做网站