我正在使用Android Studio 3.0.1,该工具可以检查中的Bundle
对象onSaveInstanceState
:
@Override
protected void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
}
为此,添加一个断点,并在调试器停止后右键单击该Bundle
对象,如屏幕快照所示,然后从上下文菜单中选择“ Show Bundle Objects ...”。
然后打开一个窗口,列出Bundle
对象,如以下屏幕截图所示:
有没有办法找出整个内存Bundle
以及孩子占用的内存量?我想确定更大的块以进行优化,并避免TransactionTooLargeException
在Android> = 7上抛出。
诸如Ubuntu Disk Usage Analyzer之类的工具会有所帮助-参见screeshot:
您也可以使用这个:
=>只需在此处传递捆绑包
public int getBundleSizeInBytes(Bundle bundle ) {
Parcel parcel = Parcel.obtain();
parcel.writeValue(bundle);
byte[] bytes = parcel.marshall();
parcel.recycle();
return bytes.length;
}
然后用于android.text.format.Formatter.formatFileSize(activityContext, bytes)
输出很好。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句