如何减小Android应用程序缓存大小

3

当我把我的安卓应用程序加载到设备上时,缓存大小约为40MB,并且在首次启动应用程序时显示空白屏幕。我不知道如何解决这个问题,请帮忙。

这些是我正在使用的库。

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:0.6.0@aar'
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'
2个回答

2
您需要一些启动画面来娱乐用户,同时应用程序正在加载。但是有一个问题...由于应用程序仍在加载中,它如何运行任何代码来显示启动画面呢?实际上它不能,但幸运的是有一个解决方案:在加载时间期间,窗口管理器使用主题中的元素绘制应用程序的占位符UI,例如背景和状态栏颜色。正确设置主题允许您即时显示静态图像(此时尚未加载任何代码,因此没有花哨的动画)。关键是创建自定义主题,覆盖android:windowBackground属性,一旦您的应用程序加载并开始运行,只需在调用Activity中的super.onCreate()之前将该主题替换为标准主题即可。
以下是Ian Lake的Google+帖子,详细描述了这种技术:有效利用品牌启动主题进行冷启动时间

1
谢谢您的回复,@Marcin Orlowski,我会尝试一下。有没有办法减少应用程序缓存内存的消耗... - Manu
尝试使用ProGuard来剥离已包含库中未使用的部分(在项目设置中称为“minifing”)。还可以查看此链接:http://tools.android.com/tech-docs/new-build-system/resource-shrinking - Marcin Orlowski
非常感谢,它运行得非常出色。当我的应用程序加载时,我对其响应速度感到非常惊讶,从30秒缩短到不到2秒 :) 不幸的是,我没有足够的声望来点赞.. 谢谢你。 - Manu

1
我会尝试这个指南。你可能不能在那里放置动画,但在应用程序首次加载时显示一些资源而不是黑白屏幕听起来不错。

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接