2016-06-17 95 views
0

是從內部存儲如何處理內存不足異常android系統

+0

圖像的大小是多少? logcat的確切內存錯誤是什麼? –

+0

你的圖像尺寸太大...張貼你的logcat .. –

+0

[android如何處理內存異常]可能的重複(http://stackoverflow.com/questions/4544919/android-how-to-handle-out內存異常) – Ironman

回答

0

你不應該處理內存溢出的例外走出內存異常,同時加載圖像

String filePath = Environment.getExternalStorageDirectory() 
       .getAbsolutePath() + File.separator + "/Omoto Images/background image.jpg"; 
     Bitmap bmp = BitmapFactory.decodeFile(filePath); 
     page4image.setImageBitmap(bmp); 

上面的代碼加載圖像。好的解釋在這裏描述:Catching java.lang.OutOfMemoryError?

1

您可以通過在AndroidManifest中使用largeheap =「true」來增加應用程序的堆內存。

<application 
     android:allowBackup="true" 
     android:icon="@mipmap/ic_launcher" 
     android:label="@string/app_name" 
     android:largeHeap="true"> 

    </application> 

但是,除非需要,否則使用它並不是好的做法。

官方文檔狀態

無論您的應用程序的進程應該有大的Dalvik堆創建。這適用於爲應用程序創建的所有進程。 它僅適用於加載到進程中的第一個應用程序;如果您使用共享用戶ID來允許多個應用程序使用某個進程,則他們都必須始終使用此選項,否則將會產生不可預知的結果。 大多數應用程序不應該需要此功能,而應該專注於減少整體內存使用量以提高性能。啓用此功能也不能保證可用內存的固定增加,因爲某些設備受其可用內存總量的限制。