使用資源文件,創建一個大的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