Avoid reloading activity with asynctask on orientation change in android

不想你离开。 提交于 2019-12-17 03:09:21

问题


How do I avoid reloading the activity with asynctask class in activity when the user changes orientation, in android? Can anybody give an example?


回答1:


Chirag have already correctly pointed out the solution.

I just want to add that, restart of Activity has nothing to do with the AsyncTask in it. By default, when there are any config changes,the activity is restarted UNLESS the config change is explicitly handled by the Activity. This is done by making an entry in manifest file.

Go through this link developer guide : android:configChanges

NOTE: Check the code on a device not on emulator. Because I had faced similar problem earlier. The same code didn't worked on emulator but it worked on device perfectly. So add the entry for android:configChanges in manifest and check the application on a android device instead of emulator.

And I second @hackbod. Do it only if necessary!




回答2:


Please turn off config changes as a last resort. Your app must work correctly when this happens. If you turn off the orientation config change because it breaks, your app will still break in other and some times more subtle way. Allowing the activity to be restarted due to an orientation config change is a very good way to easily test these important code paths of your app that are otherwise much less often exercised but still will result in failures in your users' hands.

To transfer active objects across Activity instances, use the new fragment static library which allows you to make a fragment that is retained for you across instances.




回答3:


How to preserve 2 'Alert' Dialogs openened one from another when orientation changes? Believe me, it is not simple to restart 3 fragment activity with 2 Dialogs opened. Programers do not have time to do unnecessary programming. It is easier to either stop the orientation change for some part of the app, or block it for always.



来源:https://stackoverflow.com/questions/5335665/avoid-reloading-activity-with-asynctask-on-orientation-change-in-android

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!