2

ホームボタンを押してしばらく待ってからアプリに戻ろうとすると、アプリが強制的に閉じられ、アプリにナンセンスが表示されます。

私が見つけた唯一のエラー:

java.lang.OutOfMemoryError: (Heap Size=98304KB, Allocated=90124KB)
    at android.database.CursorWindow.nativeGetString(Native Method)
    at android.database.CursorWindow.getString(CursorWindow.java:492)
    at android.database.AbstractWindowedCursor.getString(AbstractWindowedCursor.java:51)
    at myapppackage.domain.Operator.buildFromCursor(Operator.java:39)
    at myapppackage.adapter.CarouselAdapter.getMostCenterFavoriteOperatorId(CarouselAdapter.java:223)
    at myapppackage.fragment.OperatorsFragment.onLoadFinished(OperatorsFragment.java:118)
    at myapppackage.fragment.OperatorsFragment.onLoadFinished(OperatorsFragment.java:44)
    at android.app.LoaderManagerImpl$LoaderInfo.callOnLoadFinished(LoaderManager.java:483)
    at android.app.LoaderManagerImpl$LoaderInfo.onLoadComplete(LoaderManager.java:451)
    at android.content.Loader.deliverResult(Loader.java:143)
    at myapppackage.fragment.OperatorsFragment$DataLoader.deliverResult(OperatorsFragment.java:213)
    at myapppackage.fragment.OperatorsFragment$DataLoader.deliverResult(OperatorsFragment.java:169)
    at android.content.AsyncTaskLoader.dispatchOnLoadComplete(AsyncTaskLoader.java:254)
    at android.content.AsyncTaskLoader$LoadTask.onPostExecute(AsyncTaskLoader.java:91)
    at android.os.AsyncTask.finish(AsyncTask.java:631)
    at android.os.AsyncTask.access$600(AsyncTask.java:177)
    at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:644)
    at android.os.Handler.dispatchMessage(Handler.java:99)
    at android.os.Looper.loop(Looper.java:158)
    at android.app.ActivityThread.main(ActivityThread.java:5751)
    at java.lang.reflect.Method.invokeNative(Native Method)
    at java.lang.reflect.Method.invoke(Method.java:511)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1083)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:850)
    at dalvik.system.NativeStart.main(Native Method)

どうすればこれを防ぐことができますか?

編集:

メモリリークの発見について非常に役立つスピーチがあります:

http://www.youtube.com/watch?v=_CruQY55HOk&feature=share&list=PL4uOUQa48SihVk0Mh9-STLs8HnKuAgMD6

4

3 に答える 3

1

コードなしで言うのは難しい...これらのリンクが役立つかもしれません:

http://android-developers.blogspot.in/2009/01/voiding-memory-leaks.html

http://ttlnews.blogspot.in/2010/01/attacking-memory-problems-on-android.html

ヒープサイズの増加によるAndroidのメモリ不足エラー

于 2013-10-04T13:47:09.307 に答える
0

また、画像 (使用している場合) が必要な解像度を超えていないことも確認してください。非常に大きな画像や背景も OOM 例外を引き起こす可能性があるためです。

于 2013-10-04T16:57:05.230 に答える