【发布时间】:2012-01-17 07:00:26
【问题描述】:
目前我正在使用 android 中的可绘制图像,现在我想以 KB 为单位获取可绘制图像的大小,我该如何获得它,欢迎任何想法。
我在这里获取默认应用程序图标并存储在可绘制数组中,为每个图标创建一个新文件以获取长度是一个好主意吗?请提出更好的想法,谢谢
【问题讨论】:
-
嗨 lalit,我认为这个问题本身并没有明确的答案
标签: java android android-image
目前我正在使用 android 中的可绘制图像,现在我想以 KB 为单位获取可绘制图像的大小,我该如何获得它,欢迎任何想法。
我在这里获取默认应用程序图标并存储在可绘制数组中,为每个图标创建一个新文件以获取长度是一个好主意吗?请提出更好的想法,谢谢
【问题讨论】:
标签: java android android-image
这是一个想法。将可绘制图像转换为字节数组...数组长度是可绘制图像的大小(以字节为单位)。不知道有没有更好的方法...
【讨论】:
array.length 除以 1024。:)
我想你必须把它做成一个文件。但不确定它是否有效
File root = new File(Environment.getExternalStorageDirectory()
+ File.separator + "temp" + File.separator);
root.mkdirs();
File file= new File(root, "temp.png");
FileOutputStream fOut = new FileOutputStream(file);
bmp.compress(Bitmap.CompressFormat.PNG, 100, fOut);//bmp is bitmap of ur image
fOut.flush();
fOut.close();
使用file.length() 应该可以得到文件大小。
【讨论】:
我不知道这是否适用于所有情况,但您可以使用它:
Drawable d;
long kbsize = ((BitmapDrawable)d).getBitmap().getByteCount() / 1024;
【讨论】: