Ayu*_*are 10 android bundle exception
有没有办法知道字节大小的包大小?我在问这个问题是我在我的储蓄parcelable对象名单bundle
上onSaveInstanceState
.
我需要检查捆绑包大小是否达到它的大小限制并防止更多数据被保存,并防止TransactionTooLarge
发生异常.
Mar*_*kus 16
我认为对我来说最简单的方法是:
fun getBundleSizeInBytes(bundle : Bundle) : Int {
val parcel = Parcel.obtain()
parcel.writeValue(bundle)
val bytes = parcel.marshall()
parcel.recycle()
return bytes.size
}
Run Code Online (Sandbox Code Playgroud)
小智 10
Parcel 类具有 dataSize() 成员,因此无需调用 marshall() 即可获得相同的结果:
int getBundleSizeInBytes(Bundle bundle) {
Parcel parcel = Parcel.obtain();
int size;
parcel.writeBundle(bundle);
size = parcel.dataSize();
parcel.recycle();
return size;
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
3077 次 |
最近记录: |