2017-09-25 68 views
0

我在我的應用程序得到OutOfMemoryError如何確定OutOfMemory在Android上發生的位置?

FATAL EXCEPTION: Thread-11746 
Process: kr.co.iosystem.blackeyeonandroid, PID: 1618 
java.lang.OutOfMemoryError: pthread_create (1040KB stack) failed: Try again 
at java.lang.Thread.nativeCreate(Native Method) 
at java.lang.Thread.start(Thread.java:1063) 
at java.util.concurrent.ThreadPoolExecutor.addWorker(ThreadPoolExecutor.java:921) 
at java.util.concurrent.ThreadPoolExecutor.execute(ThreadPoolExecutor.java:1337) 
at com.android.okhttp.ConnectionPool.addConnection(ConnectionPool.java:208) 
at com.android.okhttp.ConnectionPool.recycle(ConnectionPool.java:198) 
at com.android.okhttp.OkHttpClient$1.recycle(OkHttpClient.java:111) 
at com.android.okhttp.internal.http.HttpConnection$AbstractSource.endOfInput(HttpConnection.java:377) 
at com.android.okhttp.internal.http.HttpConnection$FixedLengthSource.read(HttpConnection.java:426) 
at com.android.okhttp.okio.RealBufferedSource$1.read(RealBufferedSource.java:349) 
at java.io.InputStreamReader.read(InputStreamReader.java:233) 
at java.io.BufferedReader.fillBuf(BufferedReader.java:145) 
at java.io.BufferedReader.readLine(BufferedReader.java:397) 
at com.github.nkzawa.engineio.client.transports.PollingXHR$Request.onLoad(PollingXHR.java:292) 
at com.github.nkzawa.engineio.client.transports.PollingXHR$Request.access$600(PollingXHR.java:135) 
at com.github.nkzawa.engineio.client.transports.PollingXHR$Request$1.run(PollingXHR.java:214) 
at java.lang.Thread.run(Thread.java:818) 

檢查我的日誌,但我不知道在哪裏了內存不足我的發生源。

如何解決outofmemory問題?

+0

嘗試將所有沉重的圖像從'drawable'文件夾移動到'drawable-nodpi'文件夾。檢查此[鏈接](https://medium.com/@oronno/android-drawable-outofmemoryerror-ebe2995760b6) – Shruti

+0

https://stackoverflow.com/a/46401786/3395198 –

回答

0

在您的清單應用程序部分添加按照下面

 android:largeHeap="true"> 

這是你必須找出真正的原因和解決

+2

先生,'largeHeap'不是很好的解決方案。 –

+0

謝謝,@IntelliJAmiya什麼是好的解決方案? – hyunwooks

+0

@hyunwooks善意地檢查https://developer.android.com/topic/performance/graphics/load-bitmap.html –

0

使用Android的臨時解決方案:largeHeap =「真」來解決這個

在嘗試加載之前,請檢查圖像大小是否小於可用內存。因此,處理OutOfMemoryException的最有效方法是以這樣的方式構建您的應用程序,即它永遠不會嘗試將大量數據加載到內存中以避免發生異常。

+0

我不認爲'allowBackup'將在這裏有所幫助,既不' largeHeap'。儘管我同意這樣一個事實,即您需要有一個不會同時使用太多資源的好架構。此外,應用程序泄漏免費是你應該嘗試實現的,因爲從我的經驗來看,這些應用程序導致了大部分崩潰。 –

+0

@Geeta Gupta我知道'android:allowBackup =「true」'是設置自動備份的選項。爲什麼你設置'allowBackup'清單我的源? – hyunwooks

+0

'android:allowBackup =「true」'錯誤點。 –

相關問題