我正在開發一個使用一副紙牌的應用程序,所以我的應用程序中有很多PNG圖像。爲了使文件更易於管理,我將它們放在子目錄的資產目錄中。 我想知道這是否會有任何性能問題,而不是把圖像放在res/drawable中。 我意識到他們不會通過R文件訪問,但這僅僅是一種編碼方便,還是我會受到性能影響?把圖像放在資產目錄中(android)
如果它會導致性能問題,那麼通常組織的圖像文件應用程序是如何組織的?所有的圖像文件都放在res/drawable目錄下(不支持子目錄)?
感謝您的幫助!
我正在開發一個使用一副紙牌的應用程序,所以我的應用程序中有很多PNG圖像。爲了使文件更易於管理,我將它們放在子目錄的資產目錄中。 我想知道這是否會有任何性能問題,而不是把圖像放在res/drawable中。 我意識到他們不會通過R文件訪問,但這僅僅是一種編碼方便,還是我會受到性能影響?把圖像放在資產目錄中(android)
如果它會導致性能問題,那麼通常組織的圖像文件應用程序是如何組織的?所有的圖像文件都放在res/drawable目錄下(不支持子目錄)?
感謝您的幫助!
此方法將資產文件夾中的圖像複製到您的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();
}
}
唯一的性能問題是它總是會慢從SD卡圖像工作(會,也許「總是」太強大了一個詞,但肯定是真實的目前)。