在API级别19+的设备上,我们有getByteCount()和getAllocationByteCount(),每个都返回Bitmap的大小以字节为单位。后者考虑了Bitmap的事实。实际上可以表示比它的字节数更小的图像(例如,Bitmap最初保存了一个更大的图像,但后来与BitmapFactory.Options和inBitmap一起使用来保存一个更小的图像)。在大多数AndroidIPC场景中,尤其是那些涉及Parcelable的场景。,我们有一个1MB的“活页夹交易限制”。用于确定是否给定Bitmap对于IPC来说足够小,我们是否使用getByteCount()或getAllo
当我在将图像保存到SD卡之前搜索如何查找图像的大小时,我发现了这个:bitmap.getByteCount();但该方法是在API12中添加的,我正在使用API10。所以我再次发现了这一点:getByteCount()只是一种方便的方法,它完全按照您在elseblock中的操作。换句话说,如果你简单地重写getSizeInBytes总是返回"bitmap.getRowBytes()*bitmap.getHeight()"这里:WheretheheckisBitmapgetByteCount()?所以,通过计算这个bitmap.getRowBytes()*bitmap.getHeight
当我在将图像保存到SD卡之前搜索如何查找图像的大小时,我发现了这个:bitmap.getByteCount();但该方法是在API12中添加的,我正在使用API10。所以我再次发现了这一点:getByteCount()只是一种方便的方法,它完全按照您在elseblock中的操作。换句话说,如果你简单地重写getSizeInBytes总是返回"bitmap.getRowBytes()*bitmap.getHeight()"这里:WheretheheckisBitmapgetByteCount()?所以,通过计算这个bitmap.getRowBytes()*bitmap.getHeight
我知道Android平台是一团糟,过于复杂和过度设计,但说真的,为了获得位图的大小,真的有必要进行所有这些转换吗?Bitmapbitmap=yourbitmapobjectByteArrayOutputStreamstream=newByteArrayOutputStream();bitmap.compress(Bitmap.CompressFormat.JPEG,100,stream);byte[]imageInByte=stream.toByteArray();longlength=imageInByte.length;根据Google文档,Bitmap有一个方法getByteCo