将图像放入资产目录(android)

将图像放入资产目录(android),android,android-assets,Android,Android Assets,我正在开发一个使用一副卡片的应用程序,所以我的应用程序中有很多PNG图像。为了使文件更易于管理,我将它们放在子目录中的assets目录中。 我想知道这是否会带来性能问题,而不是将图像放在res/drawable中。 我意识到它们不能通过R文件访问,但这只是为了方便编码,还是会影响性能 如果会导致性能问题,那么通常如何组织具有许多图像文件的应用程序?是否所有图像文件都只是放在res/drawable目录中(不支持子目录) 谢谢你的帮助 此方法将图像从资产文件夹复制到SD卡。此处Jaydeep的文件

我正在开发一个使用一副卡片的应用程序,所以我的应用程序中有很多PNG图像。为了使文件更易于管理,我将它们放在子目录中的assets目录中。 我想知道这是否会带来性能问题,而不是将图像放在res/drawable中。 我意识到它们不能通过R文件访问,但这只是为了方便编码,还是会影响性能

如果会导致性能问题,那么通常如何组织具有许多图像文件的应用程序?是否所有图像文件都只是放在res/drawable目录中(不支持子目录)


谢谢你的帮助

此方法将图像从资产文件夹复制到SD卡。此处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();
    }
}
public void copymagesinsdcard()
{
assetManager=mycontext.getAssets();
AssetManager=mycontext.getAssets();
System.out.println(“In-copyImagesInSdcard”);
尝试
{
str1=assetManager.list(“”);
ss=AssetManager.list(str1[1]);
输入流为;
//System.out.println(ss[0]);
File File=新文件(Environment.getExternalStorageDirectory().getPath()+“/Jaydeep's Folder”);
if(file.exists()!=true)
{
mkdir()文件;
}
其他的
{
如果(file.length()==0)
{
mkdir()文件;
}
System.out.println(“长度:“+file.Length());
}

对于(int i=0;i唯一的性能问题是处理SD卡上的图像总是比较慢(will,也许“always”这个词太强了,但目前确实如此)