gpt4 book ai didi

java - JNI 本地引用表汇总(512 个条目)

转载 作者:太空宇宙 更新时间:2023-11-03 11:39:58 24 4
gpt4 key购买 nike

我有超过 10000 个城市名称,我想在 ListView 中显示。我将这些名称作为 city.xml 文件存储在 res/values 文件夹

喜欢下面

<resources>
<string-array name="city">
<item> chennai, India </item>
<item> Spring Creek , Australia </item>
.
.

然后我创建一个 ArrayAdapter 并像这样填充到 listView。

String[] cityDetails = res.getStringArray(R.array.city); // <-- getting Error in this line
myAdapter = new ArrayAdapter<String>(this, R.layout.ap_details_row, R.id.aNameTV, cityDetails );
myLV.setAdapter(myAdapter);

它在 API 级别 13 及更高级别的设备中运行良好。但是低于 API 级别 13 的设备,我收到以下错误。

 W/dalvikvm(306): ReferenceTable overflow (max=512)
W/dalvikvm(306): Last 10 entries in JNI local reference table:
W/dalvikvm(306): 502: 0x45fbb330 cls=Ljava/lang/String; (28 bytes)
W/dalvikvm(306): 503: 0x45fbb388 cls=Ljava/lang/String; (28 bytes)
W/dalvikvm(306): 504: 0x45fbb3e0 cls=Ljava/lang/String; (28 bytes)
W/dalvikvm(306): 505: 0x45fbb438 cls=Ljava/lang/String; (28 bytes)
W/dalvikvm(306): 506: 0x45fbb498 cls=Ljava/lang/String; (28 bytes)
W/dalvikvm(306): 507: 0x45fbb4f8 cls=Ljava/lang/String; (28 bytes)
W/dalvikvm(306): 508: 0x45fbb558 cls=Ljava/lang/String; (28 bytes)
W/dalvikvm(306): 509: 0x45fbb5d0 cls=Ljava/lang/String; (28 bytes)
W/dalvikvm(306): 510: 0x45fbb638 cls=Ljava/lang/String; (28 bytes)
W/dalvikvm(306): 511: 0x45fbb698 cls=Ljava/lang/String; (28 bytes)
W/dalvikvm(306): JNI local reference table summary (512 entries):
W/dalvikvm(306): 3 of Ljava/lang/Class; 164B (2 unique)
W/dalvikvm(306): 507 of Ljava/lang/String; 28B (507 unique)
W/dalvikvm(306): 1 of [Ljava/lang/String; 28B
W/dalvikvm(306): 1 of [Ljava/lang/String; 37436B
W/dalvikvm(306): Memory held directly by tracked refs is 51988 bytes
E/dalvikvm(306): Failed adding to JNI local ref table (has 512 entries)
I/dalvikvm(306): "main" prio=5 tid=1 RUNNABLE
I/dalvikvm(306): | group="main" sCount=0 dsCount=0 s=N obj=0x4001d8e0 self=0xccb0
I/dalvikvm(306): | sysTid=306 nice=0 sched=0/0 cgrp=default handle=-1345026008
I/dalvikvm(306): | schedstat=( 1050455605 562911400 652 )
I/dalvikvm(306): at android.content.res.AssetManager.getArrayStringResource(Native Method)
I/dalvikvm(306): at android.content.res.AssetManager.getResourceStringArray(AssetManager.java:186)
I/dalvikvm(306): at android.content.res.Resources.getStringArray(Resources.java:381)
I/dalvikvm(306): at com.mypro.main.HomeActivity.onCreate(HomeActivity.java:184)
I/dalvikvm(306): at dalvik.system.NativeStart.main(Native Method)
E/dalvikvm(306): VM aborting

如有任何帮助,我们将不胜感激。

最佳答案

一些想法:

1- 一次显示一页数据。向下滚动时,加载更多数据。

2- 滚动 10000 条记录到最后将花费很长时间。通过搜索表单访问您的数据。将结果限制为 100 条记录。

3- 如果数据已排序,将项目组合在一起并提供索引。例如,按字母顺序排列的列表可以分成 26 个子集。第一页显示字母表,您必须单击一个字母才能转到子集。

关于java - JNI 本地引用表汇总(512 个条目),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18656160/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com