Device Version: android 7.0
Device Model:SM-G9250
Stacktrace:java.lang.OutOfMemoryError: Failed to allocate a 197416 byte allocation with 182464 free bytes and 178KB until OOM
at libcore.util.CharsetUtils.toUtf8Bytes(Native Method)at java.lang.String.getBytes(String.java:879)
at java.lang.String.getBytes(String.java:851)
at com.sensorsdata.analytics.android.sdk.AnalyticsMessages.encodeData()
at com.sensorsdata.analytics.android.sdk.AnalyticsMessages.sendData()
at com.sensorsdata.analytics.android.sdk.AnalyticsMessages.access$000()
at com.sensorsdata.analytics.android.sdk.AnalyticsMessages$Worker$AnalyticsMessageHandler.handleMessage()
at android.os.Handler.dispatchMessage(Handler.java:102)at android.os.Looper.loop(Looper.java:154)
at android.os.HandlerThread.run(HandlerThread.java:61)
Device Version: android 7.0 Device Model:SM-G9250 Stacktrace:java.lang.OutOfMemoryError: Failed to allocate a 197416 byte allocation with 182464 free bytes and 178KB until OOM at libcore.util.CharsetUtils.toUtf8Bytes(Native Method)at java.lang.String.getBytes(String.java:879) at java.lang.String.getBytes(String.java:851) at com.sensorsdata.analytics.android.sdk.AnalyticsMessages.encodeData() at com.sensorsdata.analytics.android.sdk.AnalyticsMessages.sendData() at com.sensorsdata.analytics.android.sdk.AnalyticsMessages.access$000() at com.sensorsdata.analytics.android.sdk.AnalyticsMessages$Worker$AnalyticsMessageHandler.handleMessage() at android.os.Handler.dispatchMessage(Handler.java:102)at android.os.Looper.loop(Looper.java:154) at android.os.HandlerThread.run(HandlerThread.java:61)
` // AnalyticsMessages.java
`
另外建議 rawMessage.getBytes(CHARSET_UTF8) 抽成一個變量,這個方法裡重複調用了兩次,本來不需要多申請內存的,現在申請了兩份。