关于ios和安卓app使用流畅性的思考,撇去系统架构,是因为app选择的语言问题吗?
ios的app使用obc,也许也有swift,但都可以视为一类。而Android的app一般都是用java吧,我们不讨论arm上面的NDK。
众所周知,在相同的硬件资源下,甚至是给Android更多的资源,单单在app的使用体验上,大多数人应该可能都是认为ios更胜一筹的。我相信无论ios还是Android程序员应该都是有好好做app的,这里就排除代码劣质问题。
那么问题来了,为什么Android的app总给人一种迟钝感,一下属于个人臆测,我猜:obc基于C,有着良好的内存释放规范,而java是自动的垃圾回收机制,对于手机这种资源稀缺的平台,语言上的限制带来的问题就一下子显著起来了,是这样吗?
有这方面熟悉的前辈吗?望解答:)
Answers
其实这个和硬件,语言、系统架构关系已经不是很大了(就拿目前的Android版本和iOS来比较)。
刚出厂的Android设备和iOS设备,还未安装第三方App的情况下,我就问你iOS比Android流畅多少?根本没多大区别吧。
很多用户表示Android用久了就卡,造成这种因素原因有这么几点:
1.国内很多Android系统都是深度定制,更多只是UI上的变化、附带上自己的应用(还不能删除),然而并没有优化系统,反而更加吃内存。
2.不良厂商的App在后台运行了各种Service,你都不知道他干了什么,一直在吃你的内存和流量。更扯蛋的是某些不良厂商为了对付竞争对手的App,直接判断进程名来kill对手的App。我还碰见某厂商会在后台默默的帮你装上其他自己产品的App。
3.而相比iOS根本不存在这种问题,iOS的后台权限很小,你把iOS的App放到后台它只有GPS、音乐播放等几项权限。所以,iOS用户基本就是啥App,想装就装,想用别的App就Home键直接放入后台,本来不用担心卡顿。
4.非常同意楼上@eechen的观点:苹果的CPU都是自家开发定制的,编译器甚至可以针对自家的CPU进行硬件优化。
但是我想说iOS做的最好的还是生态圈(这一块真的是秒杀Android),App Store严格的审核制度,保证了每款App的质量,至少不坑用户。
我个人观点,造成这种局面一大半的原因都是因为第三方厂商。
如果楼主想深度体验Android,请用原生。