Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

resources.arsc压缩会影响性能吗? #84

Closed
c1024 opened this issue Aug 3, 2016 · 3 comments
Closed

resources.arsc压缩会影响性能吗? #84

c1024 opened this issue Aug 3, 2016 · 3 comments

Comments

@c1024
Copy link

c1024 commented Aug 3, 2016

在知乎看到一篇文章(https://zhuanlan.zhihu.com/p/21543787) ,有一段话:
resources.arsc 在 APK 安装之后仍需要被频繁的读取,如果将它进行压缩,在每次读取前系统都必须进行解压的操作,从性能上考量这显然是得不偿失的。所以,赶紧摒弃通过压缩 resources.arsc 来给 APK 瘦身的方法吧。
请问resources.arsc压缩会影响性能吗?

@simpleton
Copy link
Collaborator

simpleton commented Aug 3, 2016

先说我的观点:我觉得会有影响,但影响非常小。

具体的benchmark我没有做过,但我觉得resources.arsc的压缩最大的劣势是内存而不是运行时的速度。不压缩的resources.arsc系统可以使用mmap来节约内存的使用。一个app的资源至少被3个进程所持有(自己, launcher, system),所以mmap可以很大的节约内存使用。而压缩的resources.arsc会存在于每个进程中,可以使用dumpsys meminfo your.package.name来查看压缩与不压缩内存的差异。

你也可以选择不压缩resources.arsc,这里只需简单把这个选项从配置项的compressFilePattern列表中去掉即可。
PS:也欢迎大家做相关的benchmark

@gezihua
Copy link

gezihua commented Dec 4, 2018

微信也是因为内存问题所以不压缩的吗?

@simpleton
Copy link
Collaborator

@gezihua 微信以前是压缩的,现在的状态我不太清楚。
总的来说google是不推荐压缩这个文件的,因为会更消耗系统资源。这个还是要自己来权衡。ref #233

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants