|
/

线上崩溃检测到统计模块造成了OOM

Z智**OS
发布于 3 年前
8852来自广东省
移动统计 U-App
数据异常

目前只用友盟做了页面统计和一些自定义数值上报。上报策略勾选了定时上报,间隔12小时。

线上监控到 OOM 崩溃,疑似友盟统计模块一次申请37M 多内存。且同一部机器会多次上报这一崩溃,所申请内存数值都是一样的 37748744 byte

崩溃堆栈:

06-29 02:36:15.420 19266 19350 E AndroidRuntime: java.lang.OutOfMemoryError: Failed to allocate a 37748744 byte allocation with 8388608 free bytes and 17MB until OOM, max allowed footprint 123983000, growth limit 134217728

06-29 02:36:15.420 19266 19350 E AndroidRuntime: at java.util.Arrays.copyOf(Arrays.java:3260)

06-29 02:36:15.420 19266 19350 E AndroidRuntime: at java.lang.AbstractStringBuilder.ensureCapacityInternal(AbstractStringBuilder.java:125)

06-29 02:36:15.420 19266 19350 E AndroidRuntime: at java.lang.AbstractStringBuilder.append(AbstractStringBuilder.java:660)

06-29 02:36:15.420 19266 19350 E AndroidRuntime: at java.lang.StringBuilder.append(StringBuilder.java:203)

06-29 02:36:15.420 19266 19350 E AndroidRuntime: at org.json.JSONStringer.beforeKey(JSONStringer.java:386)

06-29 02:36:15.420 19266 19350 E AndroidRuntime: at org.json.JSONStringer.key(JSONStringer.java:374)

06-29 02:36:15.420 19266 19350 E AndroidRuntime: at org.json.JSONObject.writeTo(JSONObject.java:723)

06-29 02:36:15.420 19266 19350 E AndroidRuntime: at org.json.JSONStringer.value(JSONStringer.java:237)

06-29 02:36:15.420 19266 19350 E AndroidRuntime: at org.json.JSONArray.writeTo(JSONArray.java:613)

06-29 02:36:15.420 19266 19350 E AndroidRuntime: at org.json.JSONStringer.value(JSONStringer.java:233)

06-29 02:36:15.420 19266 19350 E AndroidRuntime: at org.json.JSONObject.writeTo(JSONObject.java:723)

06-29 02:36:15.420 19266 19350 E AndroidRuntime: at org.json.JSONStringer.value(JSONStringer.java:237)

06-29 02:36:15.420 19266 19350 E AndroidRuntime: at org.json.JSONArray.writeTo(JSONArray.java:613)

06-29 02:36:15.420 19266 19350 E AndroidRuntime: at org.json.JSONArray.toString(JSONArray.java:585)

06-29 02:36:15.420 19266 19350 E AndroidRuntime: at java.lang.String.valueOf(String.java:2896)

06-29 02:36:15.420 19266 19350 E AndroidRuntime: at org.json.JSON.toString(JSON.java:90)

06-29 02:36:15.420 19266 19350 E AndroidRuntime: at org.json.JSONObject.optString(JSONObject.java:575)

06-29 02:36:15.420 19266 19350 E AndroidRuntime: at org.json.JSONObject.optString(JSONObject.java:566)

06-29 02:36:15.420 19266 19350 E AndroidRuntime: at com.umeng.analytics.pro.o.a(CoreProtocolImpl.java:151)

06-29 02:36:15.420 19266 19350 E AndroidRuntime: at com.umeng.analytics.pro.o.j(CoreProtocolImpl.java:1)

06-29 02:36:15.420 19266 19350 E AndroidRuntime: at com.umeng.analytics.pro.o.a(CoreProtocolImpl.java:124)

06-29 02:36:15.420 19266 19350 E AndroidRuntime: at com.umeng.analytics.pro.o.c(CoreProtocolImpl.java:3)

06-29 02:36:15.420 19266 19350 E AndroidRuntime: at com.umeng.analytics.pro.o.a(CoreProtocolImpl.java:76)

06-29 02:36:15.420 19266 19350 E AndroidRuntime: at com.umeng.analytics.CoreProtocol.workEvent(Unknown Source:6)

06-29 02:36:15.420 19266 19350 E AndroidRuntime: at com.umeng.commonsdk.framework.UMWorkDispatch.handleEvent(UMWorkDispatch.java:6)

06-29 02:36:15.420 19266 19350 E AndroidRuntime: at com.umeng.commonsdk.framework.UMWorkDispatch.access$000(Unknown Source:0)

06-29 02:36:15.420 19266 19350 E AndroidRuntime: at com.umeng.commonsdk.framework.UMWorkDispatch$1.handleMessage(UMWorkDispatch.java:5)

06-29 02:36:15.420 19266 19350 E AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:106)

06-29 02:36:15.420 19266 19350 E AndroidRuntime: at android.os.Looper.loop(Looper.java:193)

06-29 02:36:15.420 19266 19350 E AndroidRuntime: at android.os.HandlerThread.run(HandlerThread.java:65)

8个回答
 
3 年前
来自广东省

之前为了节省流量,preInit 了之后,非 Wi-Fi 条件下,不进行 init 操作。

会是因为用户长期处于移动网络后,开启Wi-Fi,一次性上送超多数据造成的吗?

有清除上报数据的接口吗?

 
3 年前
来自广东省

有可行的解决方案吗?

 
3 年前
来自浙江省

你好,你这边只有这一台设备会复现吗?偶现还是必现的呢

Loading ...
登录社区,分享你的经验