Java android:加载带有更改文本的布局时崩溃

Java android:加载带有更改文本的布局时崩溃,java,android,string,out-of-memory,allocation,Java,Android,String,Out Of Memory,Allocation,我有一个布局,每行包含5个字符的图像和文本。当我连续50-100次加载此布局时,应用程序崩溃-我只需启动此布局的活动,按“上一步”,然后使用不同的参数再次启动它,等等 我加载相同的布局,但50-100次中的每一次都有不同的图像和文本,这些图像和文本在onCreate代码中设置 编译器成功到达onCreate代码的末尾 分配有什么问题 为什么分配失败了 我能知道谁是有问题的字符串吗 我该怎么解决呢 E/AndroidRuntime: FATAL EXCEPTION: main Process: c

我有一个布局,每行包含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库有问题。你需要使用

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


在com.facebook.ads上
。。。Facebook是个问题,你说得太对了!如果没有loadAd,应用程序即使在100次之后也不会崩溃!然后我尝试使用try-catch,但它无法捕获异常。无论如何,谢谢你!