• «
  • 1
  • 2
  • »
  • Pages: 1/2     Go
主题 : 关于调用友善HardwareControler.so库时,程序长时间运行,会出现ReferenceTable overflow解决方案? 复制链接 | 浏览器收藏 | 打印
QQ:383016632
级别: 新手上路
UID: 44395
精华: 0
发帖: 34
金钱: 170 两
威望: 34 点
综合积分: 68 分
注册时间: 2011-04-25
最后登录: 2013-02-20
楼主  发表于: 2011-05-10 18:02

 关于调用友善HardwareControler.so库时,程序长时间运行,会出现ReferenceTable overflow解决方案?

今天使用了下友善的这个库,的确挺方便,但发现一个问题,如果使用该库,长时间并大数据量进行串口通信,程序就会出现
05-10 17:57:10.820: WARN/dalvikvm(1291): ReferenceTable overflow (max=1024)
。。。
05-10 17:57:10.820: WARN/dalvikvm(1291): Last 10 entries in JNI pinned array reference table:
。。。
05-10 17:57:10.830: ERROR/dalvikvm(1291): Failed adding to JNI pinned array ref table (1024 entries)
。。
05-10 17:57:10.970: ERROR/dalvikvm(1291): VM aborting
整个Activity就死掉退出了。上网一查才知道,原来是该库使用JNI机制调用c/c++写的程序,但由于我频繁的java和C相互调用,产生了很多垃圾,得经常释放空间。
如该地址文章 http://blog.csdn.net/xiechengfa/archive/2011/03/07/6228524.aspx
由于这得涉及到改库文件,所以我现在无能为力!!希望热心的大虾们能帮我想想办法,小弟在此先谢谢大家了!!
[ 此帖被383016632在2011-05-10 18:59重新编辑 ]
自由,自强,共享,共创。
级别: 论坛版主
UID: 12573
精华: 27
发帖: 8838
金钱: 46490 两
威望: 9298 点
综合积分: 18216 分
注册时间: 2010-01-09
最后登录: 2019-07-16
1楼  发表于: 2011-05-10 21:17
先记下,以后更新时关注一下
新手如何向我们反馈有效的信息,以便解决问题,见此贴:
http://www.arm9home.net/read.php?tid-14431.html

[注]: 此处签名链接仅为指引方向,而非解答问题本身.
QQ:383016632
级别: 新手上路
UID: 44395
精华: 0
发帖: 34
金钱: 170 两
威望: 34 点
综合积分: 68 分
注册时间: 2011-04-25
最后登录: 2013-02-20
2楼  发表于: 2011-05-11 07:49
什么时候才能更新呢?
级别: 骑士
UID: 42149
精华: 2
发帖: 201
金钱: 1115 两
威望: 223 点
综合积分: 442 分
注册时间: 2011-04-05
最后登录: 2013-03-29
3楼  发表于: 2011-05-12 17:12
Mark一下
QQ:383016632
级别: 新手上路
UID: 44395
精华: 0
发帖: 34
金钱: 170 两
威望: 34 点
综合积分: 68 分
注册时间: 2011-04-25
最后登录: 2013-02-20
4楼  发表于: 2011-05-13 18:33
结贴!!没时间等友善更新了,自己用了一天时间制作了一个JNI接口的库,很好用。希望友善下次能在官方版本中改善这个问题!
级别: 骑士
UID: 42149
精华: 2
发帖: 201
金钱: 1115 两
威望: 223 点
综合积分: 442 分
注册时间: 2011-04-05
最后登录: 2013-03-29
5楼  发表于: 2011-05-13 20:36
楼上的可以发给我一份参考一下吗,谢谢,我的邮箱tingjieshi@gmail.com
级别: 新手上路
UID: 42493
精华: 0
发帖: 16
金钱: 80 两
威望: 16 点
综合积分: 32 分
注册时间: 2011-04-08
最后登录: 2017-09-13
6楼  发表于: 2011-05-16 21:03
级别: 新手上路
UID: 42295
精华: 0
发帖: 6
金钱: 30 两
威望: 6 点
综合积分: 12 分
注册时间: 2011-04-07
最后登录: 2011-05-24
7楼  发表于: 2011-05-18 02:24
同求: rluanma@gmail.com

多谢!
级别: 总版主
UID: 45585
精华: 3
发帖: 628
金钱: 3375 两
威望: 675 点
综合积分: 1316 分
注册时间: 2011-05-06
最后登录: 2018-10-18
8楼  发表于: 2011-05-18 10:41
hi all,

最新库文件见11楼...
[ 此帖被xoom在2011-05-20 15:39重新编辑 ]
级别: 新手上路
UID: 42295
精华: 0
发帖: 6
金钱: 30 两
威望: 6 点
综合积分: 12 分
注册时间: 2011-04-07
最后登录: 2011-05-24
9楼  发表于: 2011-05-19 02:49
替换了    <工程目录>\libs\armeabi\libfriendlyarm-hardware.so

经测试,问题仍然存在。

我的问题是在Android系统中,/System/lib下也有一个libfriendlyarm-hardware.so,System.loadLibrary("friendlyarm-hardware") 应该加载我的工程apk中的libfriendlyarm-hardware.so,对吧?应该不需要更新System/lib/libfriendlyarm-hardware.so吧?我没法确定是不是测试了最新的文件。

假设的确加载了新版库文件,那么问题还是没有解决。


Edit:
重新编译了一份新的Android系统image,烧入后确认了/System/lib/libfriendlyarm-hardware.so的文件大小,证实是新版,测试,运行时间比以前要长,应该有fix一些leak,不过最后还是crash了:

05-18 13:13:46.607: WARN/dalvikvm(1517): ReferenceTable overflow (max=1024)
05-18 13:13:46.607: WARN/dalvikvm(1517): Last 10 entries in JNI pinned array reference table:
05-18 13:13:46.607: WARN/dalvikvm(1517): 1014: 0x408e0748 cls=[B (2068 bytes)
......
05-18 13:13:46.637: WARN/dalvikvm(1517): JNI pinned array reference table summary (1024 entries):
05-18 13:13:46.637: WARN/dalvikvm(1517): 1 of [B 1028B
05-18 13:13:46.637: WARN/dalvikvm(1517): 3 of [B 1036B (3 unique)
......
05-18 13:13:46.647: WARN/dalvikvm(1517): Memory held directly by tracked refs is 1965440 bytes
05-18 13:13:46.647: ERROR/dalvikvm(1517): Failed adding to JNI pinned array ref table (1024 entries)
[ 此帖被jeffy在2011-05-19 04:22重新编辑 ]
  • «
  • 1
  • 2
  • »
  • Pages: 1/2     Go