小编KuR*_*uZu的帖子

Android:Native进程在一段时间后引发ReferenceTable溢出(android-ndk)

使用ndk我编译了一个用C编写的代码.该程序是一个ecm格式文件转换,这里是本机代码:link.出于优化的原因,我选择使用JNI,因为该程序需要大量的CPU处理.

要转换的文件可能非常大,介于200mb到700mb之间.一切正常,但在转换过程结束时,尝试转换大于600Mb的文件时,应用程序将停止并显示以下错误消息:

11-13 20:24:36.775: WARN/dalvikvm(1468): ReferenceTable overflow (max=512)
11-13 20:24:36.775: WARN/dalvikvm(1468): Last 10 entries in JNI local reference table:
11-13 20:24:36.775: WARN/dalvikvm(1468):   502: 0x465117b0 cls=Ljava/lang/Class; 'Lunecm4droid/kiio/es/mainUECM;' (164 bytes)
11-13 20:24:36.775: WARN/dalvikvm(1468):   503: 0x465117b0 cls=Ljava/lang/Class; 'Lunecm4droid/kiio/es/mainUECM;' (164 bytes)
11-13 20:24:36.775: WARN/dalvikvm(1468):   504: 0x465117b0 cls=Ljava/lang/Class; 'Lunecm4droid/kiio/es/mainUECM;' (164 bytes)
11-13 20:24:36.775: WARN/dalvikvm(1468):   505: 0x465117b0 cls=Ljava/lang/Class; 'Lunecm4droid/kiio/es/mainUECM;' (164 bytes)
11-13 20:24:36.775: WARN/dalvikvm(1468):   506: 0x465117b0 cls=Ljava/lang/Class; 'Lunecm4droid/kiio/es/mainUECM;' (164 bytes)
11-13 20:24:36.775: WARN/dalvikvm(1468):   507: 0x465117b0 cls=Ljava/lang/Class; 'Lunecm4droid/kiio/es/mainUECM;' (164 bytes)
11-13 20:24:36.775: WARN/dalvikvm(1468):   508: 0x465117b0 …
Run Code Online (Sandbox Code Playgroud)

c java android

7
推荐指数
1
解决办法
5801
查看次数

标签 统计

android ×1

c ×1

java ×1