2016-08-02 72 views
4

當我將應用加載到設備時,我的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' 

回答

2

在加載應用程序時,您需要某種啓動畫面來娛樂用戶。但有一個問題......應用程序仍在加載,它如何運行任何代碼來顯示啓動畫面?事實上,它不是真的,但幸運的是有一個解決方案:在加載期間,窗口管理器使用主題中的元素(例如背景和狀態欄顏色)爲您的應用繪製佔位符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

1

我會嘗試this guide你可能不能把動畫出現,但顯示出一些資源,而不是黑/白屏幕時,您的應用程序加載了第一次聽起來不錯。

+0

非常感謝@parohy :)幫助我在應用程序的冷啓動時提供更好的用戶體驗。不幸的是沒有足夠的聲望來增加投票...再次感謝 – Manu