我有一个带有行的布局,每行包含5个字符的图像和文本。当我连续加载此布局大约50-100次时,应用崩溃。 -我只是开始此布局的活动,按回去,然后使用不同的参数重新开始,依此类推。

我加载相同的布局,但是50-100次中的每一个都有onCreate代码中设置的不同图像和文本

编译器成功到达onCreate代码的末尾。

分配有什么问题?

为什么分配失败?

我能知道谁是有问题的琴弦吗?

我该如何解决呢?

E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.sampleapp, PID: 24414
java.lang.OutOfMemoryError: Failed to allocate a 566582 byte allocation with 326088 free bytes and 318KB until OOM
at java.lang.StringFactory.newStringFromChars(Native Method)
at java.lang.AbstractStringBuilder.toString(AbstractStringBuilder.java:629)
at java.lang.StringBuilder.toString(StringBuilder.java:663)
at org.chromium.content_public.browser.LoadUrlParams.buildDataUri(LoadUrlParams.java:113)
at org.chromium.content_public.browser.LoadUrlParams.createLoadDataParamsWithBaseUrl(LoadUrlParams.java:164)
at org.chromium.android_webview.AwContents.loadDataWithBaseURL(AwContents.java:1460)
at com.android.webview.chromium.WebViewChromium.loadDataWithBaseURL(WebViewChromium.java:609)
at android.webkit.WebView.loadDataWithBaseURL(WebView.java:978)
at com.facebook.ads.internal.adapters.h.a(Unknown Source)
at com.facebook.ads.internal.adapters.h.loadBannerAd(Unknown Source)
at com.facebook.ads.internal.DisplayAdController.a(Unknown Source)
at com.facebook.ads.internal.DisplayAdController.o(Unknown Source)
at com.facebook.ads.internal.DisplayAdController.d(Unknown Source)
at com.facebook.ads.internal.DisplayAdController$5.run(Unknown Source)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:5417)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)

最佳答案

似乎有内存泄漏,可能是因为您的应用程序未正确处理fb库,或者可能是fb lib的问题。您需要使用

https://developer.android.com/studio/profile/am-memory.html


  Android Monitor提供了一个内存监视器,因此您可以更轻松地进行
  监视应用程序性能和内存使用情况以查找已释放的对象,
  找到内存泄漏,并跟踪已连接的内存量
  设备正在使用。内存监视器报告您的应用如何分配
  内存,并帮助您可视化应用程序使用的内存。它让
  您:

10-06 14:05
查看更多