3
有什么方法可以知道以字节为单位的分组大小?我在问这个问题的意思是我在onSaveInstanceState
的bundle
中保存了可以列出的对象列表。以字节为单位的分组大小
我需要检查包的大小是否达到了它的大小限制,并防止保存更多的数据,并防止发生异常。
有什么方法可以知道以字节为单位的分组大小?我在问这个问题的意思是我在onSaveInstanceState
的bundle
中保存了可以列出的对象列表。以字节为单位的分组大小
我需要检查包的大小是否达到了它的大小限制,并防止保存更多的数据,并防止发生异常。
我觉得对我来说最简单的方法是:
fun getBundleSizeInBytes(bundle : Bundle) : Int {
val parcel = Parcel.obtain()
parcel.writeValue(bundle)
val bytes = parcel.marshall()
parcel.recycle()
return bytes.size
}
包裹类有数据尺寸()成员,所以无需调用马歇尔()来达到同样的效果:
int getBundleSizeInBytes(Bundle bundle) {
Parcel parcel = Parcel.obtain();
int size;
parcel.writeBundle(bundle);
size = parcel.dataSize();
parcel.recycle();
return size;
}