0%

随着Android移动开发的需求越来越复杂,我们不可避免的遇到发布出去的apk体积越来越大的问题,
作为一个非心智成熟型App,apk影响拉新用户转化率,谷歌给出了一个很详细的数据,包体大小每上升 6MB,应用下载转化率就会下降 1%. 2020年app包大小从60M减小到35M,算上业务增量,实际缩包30M。

Read more »

在缩包过程中,代码逻辑复杂,删除风险高,单纯的lint无用代码扫描很难发现一些无用case下的代码,而且反射机制在这种方式下也存在潜在风险。另外,在模块化开发中,每个模块都会有单独的负责人,建立每个模块的代码覆盖率,也方便建立包大小卡口和责任制裁剪。

Read more »

最近在做App启动优化,参考了一些文章,就最近做的一些事做一个总结输出。

Read more »

做App启动优化,Trace是优化过程中必不可少的工具。Android中提供了两种trace分析工具,method trace是抓取线程中代码的执行栈和耗时;systrace 是抓取app使用过程中cpu、线程和锁阻塞等信息。

Read more »

JOOX作为一个媒体类的应用,大量的场景用到音乐和mv等媒体播放,对媒体的缓存依赖高。所以需要做媒体缓存,对于已经播放和歌曲做到边下边播,未播放的歌曲能做预加载,提升用户体验,减少用户等待耗时。

Read more »

1 介绍

Google引入新Android App Bundle应用文件格式。这种文件包括所有的应用程序的编译代码和资源,Google Play 根据用户的手机信息生成所需资源和SO的APK,用户只需要下载运行应用所需的资源。而且Android App Bundle提供功能动态加载的功能(类似插件化的概念),开发者可用将不重要或者独立的功能在用户需要的时候加载。

Read more »

开发多年以来,系统libc.so abort 是每个App都会遇到的问题,早期一直没有研究明白到底为什么导致的崩溃,一直猜测是系统bug,内存泄漏导致内存溢出。之前通过解决native层的内存泄漏可以减少少量的crash。libc.so abort此项崩溃占一直占比30%+,最近看到一些大神的分析,就这个问题的解决和实践做个总结。

Read more »