添加到JNI本地ref表失败(有512个条目)当向Array添加资源时

时间:2013-12-09 19:36:59

标签: android arrays

当我尝试将所有引用都放入数组时,我得到错误。无法添加到JNI本地ref表(有512个条目)。

我尝试将所有字符串读入数组,如:

String[] aStrings = mAppContext.getResources().getStringArray(R.array.a_array)

在xml中我有500多行字符串,如:

<string-array name="a_array">
    <item>0@100@Name1</item>
    <item>1@101@name2</item>
    ...
    ...
    ...
    <item>600@101@name600</item>
</string-array>

如果我运行我的代码例如note2(4. +)一切正常,如果我在野火(2. +)运行它我得到错误。如果我减少500以下的条目,那么一切正常。我相信我得到的错误是因为旧设备的内存不足。当错误发生时,应用程序崩溃。

现在我有两个问题:

  1. 我能避免这个错误吗?以某种方式修复这个?所以我的应用程序不会崩溃。
  2. 有没有办法捕获此错误并加载较小的数组? (我尝试使用try catch block,但没有成功)

1 个答案:

答案 0 :(得分:0)

我确实解决了这个问题。而不是创建我创建的<string-array name="a_array">

<string name="a_array">
  0@100@Name1#
  1@101@name2#
  ...
  ...
  N@N@nameN
</string>

然后我将字符串读入变量,并使用.split("#");将其解析为数组。