使用资源文件,创建一个大的HashMap当HashMap的> 512
HashMap<String, String> bigHash = new HashMap<String, String>();
public void createHash(){
String [] items = getResources().getStringArray(R.array.dual_strings);
String [] temp;
for (String s : items){
temp = s.split("@");
bigHash.put(temp[0],temp[1]);
}
}
dual_string.xml JNI溢出就像 全志“睡眠@更好的睡眠,每天超过6小时”
但是,我尝试了一个大的(〜1000项)dual_strings.xml文件和应用程序在启动后立即崩溃。在LogCag 展望“dalvikvm未能增加JNI本地参考表(有512项)”
有什么我能做的创造和我长的资源文件使用一个大哈希? 谢谢
谢谢。但是,当我将散列键提供给AutoCompleteTextView适配器时,我无法拆分成更小的块。链接说问题已经修复与android 2.3,我会试试这个。 我不知道什么是Android的错误,如这样的谷歌政策:<2.3版本将被修复? – DrWolf 2011-04-25 09:17:50
好吧,它适用于2.3(~1.2k散列) – DrWolf 2011-04-25 11:40:20
如果上面的文章中的代码指示您正在做什么,您应该能够将资源文件拆分为多个资源。您正在构建传递适配器的散列表,因此只需从2或3个不同的资源文件中构建适配器2或3次。这是一个getStringArray方法,因为太多的项目而不是适配器代码而崩溃。 – 2011-04-25 18:22:49