前言: 此篇博客是本人在开发过题的总程中所遇问结,后续开发过程中所遇到的问题 ,还会进一步总结与完善此篇文章。
1、 问题: android4.0 禁止横竖屏切换使用 android:configChanges="orientation|keyboardHidden"无效
解决方法:需要在其后加一个"screenSize" android:configChanges="orientation|keyboardHidden|screenSize"
2、 问题:20140819 在测试新项目的时候发现一个问题,当我们在Activity中启动异步线程的时候,而此异步线程结束之后是要去替换Fragment,如果你的替换方法是这么写的
FragmentTransaction beginTransaction = getFragmentManager().beginTransaction();
beginTransaction.replace(R.id.framelayout, AmusementInfoFragment.newInstance(this, 1, ""));
beginTransaction.commitAllowingStateLoss();
情景再现:当我们进入该Activity,然后异步任务启动去请求数据,如果在异步任务未执行完之前,退出该Activity,就会报:
java.lang.IllegalStateException: Activity has been destroyed
解决方法:
1、将 Context的 this 换成 getApplicationContext(),因为虽然Activity销毁了,但是异步任务还在执行,所以这个Activity的context就成空的了,所以报错 (此方法不建议使用)
2、在该Activity的Destory的方法内手动的去结束该 异步任务
if (asynctask != null && asynctask.getStatus() == AsyncTask.Status.RUNNING) {
asynctask.cancel(true);//如果Task还在运行,则先取消它
asynctask = null;
}