我正在製作一個android應用程序。應用程序中有一項活動,觸發時會生成一個稀疏陣列並填充數據。現在這個過程需要花費1分鐘時間,這非常長。所以我想在應用程序啓動時進行一次sparsearray,並在應用程序的整個生命週期內將sparsearray保存在RAM中。而且無論何時觸發活動,它都應該訪問RAM中的稀疏陣列而不是創建一個新的陣列,從而節省時間和處理能力。這可以做到,如果是的話,怎麼樣?對不起,如果這個問題是愚蠢的,我是新來的android。謝謝! *編輯:這是什麼使功能sparsearray樣子: //函數訪問sparsearray決策功能如何在應用程序啓動時製作(並保存在RAM中)sparsearray? (android)
public String[] process(){
InputStream is = context.getAssets().open("feedtitlesandaddresses.txt");
InputStreamReader iz=new InputStreamReader(is);
BufferedReader br = new BufferedReader(iz);
String line = null;
while((line=br.readLine())!=null) {
readLine(line);
}}
//sparsearray making function
private void readLine(String line) {
//some string processing(omitted here)
int num1 = Integer.parseInt(firstNumber);
//int num2 = Integer.parseInt(secondNumber);
if(sparseArray.get(num1) == null) {
sparseArray.put(num1, new SparseArray<String>());
}
temporarySparseArray = sparseArray.get(num1);
for(int w=0;w<size;w++){
temporarySparseArray.put(w, array1[w]);
}
sparseArray.put(num1, temporarySparseArray);
temporarySparseArray = null;
}
請問你能提供一些代碼嗎?如果你的AVD只有一些MHz,它會很慢。 – staaar 2013-03-20 06:51:45
@staaar我怎樣才能知道我的AVD有多少MHz? – 2013-03-20 06:52:59
@staaar哪部分代碼? – 2013-03-20 06:53:07