我只需要从 Assets 文件夹中另一个文件夹内的文件夹中获取图像尺寸。我尝试了一些代码,但无法节省内存,即我不想将图像加载到内存中,我只想获取文件夹中所有文件的尺寸。这是我正在使用的代码,但这不是内存效率我不想加载位图。
private void getFileNames()
{
AssetManager assetManager = mCxt.getAssets();
InputStream bitmap;
Bitmap bit;
Log.d("Jawad"," in Function");
// To get names of all files inside the "Files" folder
try {
String[] files = assetManager.list(mFolferPath);
Log.d("Jawad"," Length "+files.length);
for(int i=0; i<files.length; i++)
{
if(files[i].contains(".png") ||files[i].contains(".jpg"))
{
Log.d("Jawad","" +files[i]);
bitmap=assetManager.open(mFolferPath+"/"+files[i]);
bit=BitmapFactory.decodeStream(bitmap);
Log.d("Jawad",""+ " ," +bit.getWidth() + " , " + bit.getHeight());
bitmap = null;
bit.recycle();
bit = null;
}
}
} catch (IOException e1) {
Log.d("Jawad"," "+e1);
}
}
mFolferPath = gfx/装饰/饼干
这段代码给了我尺寸,但问题是我不想将它们加载到内存中。