【发布时间】:2019-06-04 01:25:05
【问题描述】:
我的 Android 应用程序返回 android.os.TransactionTooLargeException 时遇到问题,即使我清除了 Fragment 中的所有数据。
从我实现的片段 - 请参阅下面的代码,我启动了一个新活动,该活动开始但一秒钟后 android.os.TransactionTooLargeException 被抛出。我试图清理所有捆绑包等,因此片段尽可能简单,但它会抛出:
java.lang.RuntimeException: android.os.TransactionTooLargeException: 数据包大小 608932 字节。
请问您知道问题出在哪里吗?
public class ShowDetailFragment extends Fragment {
public static boolean was207Called = false;
public interface ExpandViewListener {
void onExpandClicked();
}
public void setFullScreenListener(ExpandViewListener listener) {
}
public ShowDetailFragment() {
}
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View v = inflater.inflate(R.layout.fragment_show_detail, null, true);
return v;
}
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
}
@Override
public void onResume() {
super.onResume();
}
@Override
public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, null);
Intent i = new Intent(getActivity().getApplicationContext(), ForgottenPasswordActivity.class);
startActivity(i);
return;
}
@Override
public void onPause() {
super.onPause();
}
@Override
public void onSaveInstanceState(Bundle outState) {
}
public void onFragmentRemoved() {
Log.d("XXXXX", "Frag removed");
}
@Override
public void onStop() {
super.onStop();
Log.d("XXXX", "Stopping");
}
}
【问题讨论】:
-
尝试将您的 viewCreated() 方法代码移动到 onResume() 方法
-
onSaveInstanceState 不调用 super,为什么
-
因为错误说包裹的大小太大了......但它应该是1MB?!你在调用 ShowDetailFragment 时放入了什么?请参阅此问题以供参考...stackoverflow.com/q/28667438/7177329
标签: android kotlin runtimeexception