为什么安卓国产APP的体积越来越大?
我是做Android的,我给大家说说原因吧。
Android软件大主要是以下几方面造成的。
1 Android界面功能的实现难度。
Android相对于apple在某些方面实现起来很困难。
比如Android的广告推送。
苹果有自己的服务器可以用,而谷歌的服务器却不能用。
咋办,于是有了n 种办法,有的人会用第三方比如百度。
但更多的公司会自己实现。
广告推送是与盈利挂钩的,这是一个很重要的功能。
一个广告推送就会让app 多产生七八个类,几百行甚至几千行代码。
但这不是最重要的,最重要的是因为这个功能太重要了,以至于每一个Android APP都会有。
而这个功能因为需要推送,所以这个功能需要后台24小时运行。
这导致无数个pushService在后台运行,他们占用内存,占用cpu 有的甚至索要权限进行电话录制,复制个人信息。
2 android 界面相对于苹果而言,实现有点困难。
这种困难从Android出生的那一刻就存在了。
一个界面就有一个activity,而n 个界面就有n 个activity。
n个activity里面因为某种原因造成代码冗余。
于是有了fragment,但是fragment在深度嵌套时会有许多难度而最典型的难度就是传值,页面跳转。
这一下字增加了其复杂度。
因为要实现会产生很多冗余代码。
3 软件升级。
相对于苹果,Android的升级十分的频繁。
Java程序最大的特点是可重用性,特别适合二次开发。
绝大部分的程序员,在软件升级时,是不会去删除那些不用的代码的。
为了兼容老版本,就更不行了。
这导致产生庞大的废代码。
4 界面布局文件。
界面布局的碎片十分的多,而这些碎片和Java代码是相关的。
一个app 页面越多,产生的垃圾布局文件越多。
好多公司为了追求速度和程序的可阅读性,是不会主动去删过时的代码和布局文件。
5 图片,图标。
APP的代码体积有相当大的可能是图片造成的。
图片越多会造成APP体积极速扩张。
与媒体相关的视频,游戏变成巨霸就成为无可厚非的事。
但是还有一个重要原因就是Android的适配。
因为Android手机碎片化严重,为了用户体验,常常需要2套以上的图片,图标。