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/装飾/ビスケット
このコードは私に次元を与えていますが、問題はそれらをメモリにロードしたくないということです。