黑龙江建设网一体化平台,seo网站关键词优化价格,免费凡科建站官网,群晖 wordpressAPK大小缩小65#xff05;#xff0c;内存减少70#xff05;#xff1a;如何优化Android App
我们一直在努力为我们的Android应用程序构建MVP产品。在开发MVP产品后#xff0c;我们发现需要进行应用程序优化以提高性能。经过分析#xff0c;我们发现了以下可以改进的应用…
APK大小缩小65内存减少70如何优化Android App
我们一直在努力为我们的Android应用程序构建MVP产品。在开发MVP产品后我们发现需要进行应用程序优化以提高性能。经过分析我们发现了以下可以改进的应用指标内存使用、APK大小、CPU使用情况和UI性能。该应用程序主要关注显示高质量的大型图片从而导致高内存消耗和大型APK大小。
APK大小
缩小APK大小是我们在应用优化中的初始重点。这是因为较大的APK大小可能会产生重要影响
为什么APK大小很重要
存储影响较大的APK会占用用户设备上更多的存储空间可能导致与存储相关的性能问题。用户可能会因为其他应用或文件而耗尽存储空间。 内存使用较大的APK可能需要更多的内存来加载和运行应用程序。这种增加的内存使用可能会对具有有限RAM的设备造成压力导致性能问题。 我们的目标是通过减小APK大小来改善用户体验和应用程序性能。我们将使用APK分析器来确定导致APK大小增加的因素。
什么是APK Analyzer
APK Analyzer是谷歌提供的一种工具用于检查Android应用程序包APK的内容。 https://developer.android.com/studio/debug/apk-analyzer APK Analyzer帮助开发人员了解他们的APK文件的组成包括构成其Android应用程序的资源、资产和代码。 将APK拖放到Android Studio IDE中以检查其组件。
初始APK大小约为20.6MB
Apk缩小体积措施
1. Proguard规则
通过启用minifyEnabled和shrinkResources标志并添加ProGuard规则来解决构建错误我们成功地将APK大小从约20.5MB减小到15.5MB。这表示APK大小减少了25%。 官方文档https://developer.android.com/build/shrink-code 尽管我们通过应用规则成功减小了APK大小25%但从屏幕截图可以看出77%的大小仍然由资源占据。这表明在减小APK大小方面还有更大的潜力。
2. 转换PNG为Webp
将PNG可绘制文件转换为Webp可以显著减小APK大小通常可以减少60%到70%的资源大小。
重要提示
通过Android Studio的转换过程优化WebP资源相比于直接使用设计师或设计工具如Figma或Zeplin的资源效率更高。在APK大小减小方面结果可能会有所改善。
选择Webp图像-右键单击-转换为PNG
转换为PNG后将所有这些图像转换为Webp。
选择PNG图像-右键单击-转换为Webp
这种方法可以显著减小APK大小。
3. 删除未使用的资源
随着项目范围的增加我们可能会添加许多未使用的可绘制资源。删除这些未使用的资源有助于减小APK大小。
在Android Studio的顶部导航到“重构”然后选择“删除未使用的资源”。这个操作会显示资源列表。验证每个资源在您的项目中是否被使用并继续删除已确认未使用的资源。
4. 添加ResConfigs
“resConfigs”选项可以控制哪些语言或特定地区的资源包含在您的应用的APKAndroid Package文件中。通过排除与特定语言或配置相关的不必要资源这个功能对于优化应用的大小非常有价值。
要在应用的APK中仅包括英文资源并排除其他地区的资源在应用的build.gradle文件的defaultConfig块内添加以下行
defaultConfig {// ...resConfigs(en)// ...
}如果您的应用支持多种语言请按如下方式添加语言代码。
defaultConfig {// ...resConfigs(en, de-rDE)// ...
}5. 处理应用内资源
步骤1为了确保流畅的用户体验我们在应用内部包含了高质量的图片以避免外部URL加载时间过长。我们在应用中包含了10张图片但实际上只使用了其中的5张。通过减少图片数量和存储消耗我们改善了应用的性能并消除了在加载图片时出现意外空白屏幕的问题。
步骤2对于启动画面我们最初使用了一段约2MB大小的8秒视频仅在首次启动应用时显示。为了优化应用大小和用户体验我们决定将视频剪裁至约800KB大小使其在有限的使用情况下更加高效。
6. 字体优化
我们从多个团队接收到了各种功能的设计每个设计都有其喜欢的字体如“Inter”和“Poppins”。使用多个.ttf字体文件会增加应用的大小。为了减小应用的占用空间我们在整个应用中统一使用了一个字体样式消除了冗余的字体文件。
但是如果您的应用需要多种字体样式请考虑使用可下载字体。这种方法允许您避免直接将字体嵌入应用中。
7. Android应用捆绑AAB
Android应用捆绑AAB是一种与传统APK相比更高效的Android应用打包格式。AAB包含构建APK所需的所有编译代码、资源和资产但它们以更优化的方式进行。AAB根据特定的设备配置如屏幕尺寸、语言等进行自定义。当用户从Google Play商店下载应用时商店会动态生成适用于用户特定设备的定制APK仅包含用户设备所需的资源和代码从而减小下载大小并优化用户体验。
结论
通过上述所有步骤和对应用程序进行一些小的重构我们成功将APK大小从20.5MB减小到8.3MB 实现了约60%的APK大小减少。 尽管APK大小是8.3MB但根据上面显示的情况用户只需要下载7.7MB缩小了约65%的APK。