2011-06-04 42 views
1

我正在開發一個使用一副紙牌的應用程序,所以我的應用程序中有很多PNG圖像。爲了使文件更易於管理,我將它們放在子目錄的資產目錄中。 我想知道這是否會有任何性能問題,而不是把圖像放在res/drawable中。 我意識到他們不會通過R文件訪問,但這僅僅是一種編碼方便,還是我會受到性能影響?把圖像放在資產目錄中(android)

如果它會導致性能問題,那麼通常組織的圖像文件應用程序是如何組織的?所有的圖像文件都放在res/drawable目錄下(不支持子目錄)?

感謝您的幫助!

回答

0

此方法將資產文件夾中的圖像複製到您的Sdcard。此處Jaydeep的文件夾是我的SD卡上的文件夾的名稱。您可以在該位置使用您的文件夾名稱。

public void copyImagesInSdcard() 
{ 
    assetManager = mycontext.getAssets(); 
    assetManager1 = mycontext.getAssets(); 
    System.out.println("In copyImagesInSdcard"); 
    try 
    { 
     str1=assetManager.list(""); 
     ss=assetManager1.list(str1[1]); 
     InputStream is; 
     //System.out.println(ss[0]); 
     File file=new File(Environment.getExternalStorageDirectory().getPath() + "/Jaydeep's Folder"); 
     if(file.exists()!=true) 
     { 
     file.mkdir(); 
     } 
     else 
     { 
      if(file.length()==0) 
      { 
       file.mkdir(); 
      } 
      System.out.println("Length:"+file.length()); 
     } 

      for(int i=0;i<ss.length;i++) 
      { 
      is=assetManager1.open(str1[1] + "/" + ss[i]); 


      file=new File(Environment.getExternalStorageDirectory().getPath() + "/Jaydeep's Folder/" + ss[i]); 

      FileOutputStream out=new FileOutputStream(file); 
      //Bitmap bi = BitmapDrawable.createFromStream(is,ss[0]); 


      byte b[] =new byte[4096]; 
      while (is.read(b) != -1) { 

       out.write(b); 
       } 
       out.close();   
      } 

    } 
    catch (IOException e) 
    { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } 
} 
0

唯一的性能問題是它總是會慢從SD卡圖像工作(會,也許「總是」太強大了一個詞,但肯定是真實的目前)。

相關問題