美文网首页
android-性能优化-so优化

android-性能优化-so优化

作者: 卍W卍X卍 | 来源:发表于2019-11-12 16:52 被阅读0次

个人总结,因为项目开发的原因,需要ndk开发一部分功能,并打包成so使用,在打包so过程中发现生成的so过大,如下图有15M的样子,很大。所以决定看一些so优化相关的知识。

图1

这是我通过cmake方式直接在as上运行出来生成的so,研究以后才知道,so还有debug和release包的区分,上面这个就是debug的so。

在as上task->other->

图2

点击这个方式build会生成release的so库,如下图。

图3

会减少几百k的大小,但还是很大,仍有14M多。

参考https://blog.csdn.net/u010019468/article/details/78271965这个博客发现

release包这么大还是因为编译过程中生成二进制码没有被剥除。故根据其提供方式在cmakelist.txt中添加如下关键配置项:

图4

编译so之后大大优化so大小,见下图

图5

优化之后大小减了一半多,只有6M多了。

鉴于项目开发时一些so库只有so没有源代码,太大无法自己重新打包,研究到有一种工具UPX可以对于so这种文件直接压缩, 工具库地址 https://github.com/upx/upx

其中有写到

图6

UPX是一种高级可执行文件处理器,可以压缩50%多的大小。

使用方法如下

图7

接着把release刚才打包的压缩文件用UPX工具再次进行压缩,过程与结果如下。

图8 图9

明显可见压缩效率之高,6M多的so又压缩到了2M多。亲测原功能正常运行。

甚是欢喜,这下子不会因为so太大导致apk增大过多了。这次研究下来收获还是蛮大的压缩率高达86%~(#^.^#)

相关文章

  • android-性能优化-so优化

    个人总结,因为项目开发的原因,需要ndk开发一部分功能,并打包成so使用,在打包so过程中发现生成的so过大,如下...

  • Webpack 优化总结

    webpack优化可以分为两部分: 开发环境性能优化 生产环境性能优化 开发环境性能优化 HMR: 热加载。 so...

  • Python-02进阶-07代码优化技巧

    代码优化技巧 优化原则 核心技巧 其他技巧 Python 代码性能优化技巧 常用代码优化技巧 sort()优于so...

  • Android-渲染性能优化overdraw

    原文链接 更多教程 Android-渲染性能优化overdraw 你将学到 1.overdraw简介2.overd...

  • Android-性能优化

    性能优化 卡顿 如何衡量卡顿 "卡顿" 产生的原因 Profile GPU Rendering 通用优化流程第一步...

  • Android-性能优化

    应用体验-布局优化 使用include布局、merge标签、ViewStub视图可以使用HierarchyView...

  • Android性能优化 - 消除卡顿

    性能优化系列阅读 Android性能优化 性能优化 - 消除卡顿 性能优化 - 内存优化 性能分析工具 - Tra...

  • Android性能优化 - 内存优化

    性能优化系列阅读 Android性能优化 性能优化 - 消除卡顿 性能优化- 内存优化 性能分析工具 - Trac...

  • 前端性能优化(中)

    性能优化调研系列文章 《前端性能优化(上)》 《前端性能优化(中)》 《前端性能优化(下)》 《前端性能优化(上)...

  • 前端性能优化(下)

    性能优化调研系列文章 《前端性能优化(上)》 《前端性能优化(中)》 《前端性能优化(下)》 《前端性能优化(中)...

网友评论

      本文标题:android-性能优化-so优化

      本文链接:https://www.haomeiwen.com/subject/ycjqictx.html