如何最小化Android应用高速缓存大小

问题描述:

当我将应用加载到设备时,我的Android应用高速缓存大小约为40MB,并且它在第一次启动应用时显示空白屏幕。我不知道如何解决这个挑战,请帮助。如何最小化Android应用高速缓存大小

这些是我正在使用的库。

compile(group: 'com.microsoft.azure', name: 'azure-notifications-handler', version: '1.0.1', ext: 'jar') 
compile 'com.android.support:appcompat-v7:23.4.0' 
compile 'com.android.support:design:23.4.0' 
compile 'com.android.support:cardview-v7:23.4.0' 
compile 'com.google.code.gson:gson:2.6.2' 
compile 'com.android.support:support-v4:23.4.0' 
compile 'com.google.android.gms:play-services:8.4.0' 
compile 'com.squareup.picasso:picasso:2.5.2' 
compile 'com.microsoft.azure.android:azure-storage-android:[email protected]' 
compile 'com.microsoft.azure:azure-mobile-services-android-sdk:2.0.3' 
compile 'com.android.support:multidex:1.0.1' 
compile 'com.android.support:recyclerview-v7:22.2.0' 
compile 'com.mcxiaoke.volley:library-aar:1.0.0' 

在加载应用程序时,您需要某种启动画面来娱乐用户。但有一个问题......应用程序仍在加载,它如何运行任何代码来显示启动画面?事实上,它不是真的,但幸运的是有一个解决方案:在加载期间,窗口管理器使用主题中的元素(例如背景和状态栏颜色)为您的应用绘制占位符UI。正确设置主题可让您即时显示静态图像(无需加载代码,因此当时没有花哨的动画)。关键是要创建覆盖android:windowBackground属性的自定义主题,一旦您的应用程序加载并开始运行,您只需在您的活动中调用super.onCreate()之前将其替换为标准主题。

以下是详细描述此技术的Ian Lake的Google+帖子:Use cold start time effectively with a branded launch theme

+1

感谢您的回复@Marcin Orlowski,我将尝试..是否有减少应用程序缓存内存消耗... – Manu

+0

尝试使用ProGuard去除包含库中的未使用部分(在项目设置中称为“minifing”)。另外检查一下:http://tools.android.com/tech-docs/new-build-system/resource-shrinking –

+0

非常感谢,它的工作非常好。我很惊讶我的应用程序响应时加载,30秒到少于2秒:)不幸的是没有足够的声誉来表决..谢谢。 – Manu

我会尝试this guide你可能不能把动画出现,但显示出一些资源,而不是黑/白屏幕时,您的应用程序加载了第一次听起来不错。

+0

非常感谢@parohy :)帮助我在应用程序的冷启动时提供更好的用户体验。不幸的是没有足够的声望来增加投票...再次感谢 – Manu