android – 如何告訴我的自定義FragmentPagerAdapter來停止銷燬我的碎片?
我有一個帶有FragmentPagerAdapter的ViewPager,我的應用程式以前只使用了兩個片段(不同型別),沒有問題.
我剛剛添加了第三個片段,現在我的介面卡/檢視器似乎正在摧毀我的片段,當我遠離他們.例如,如果我在第1頁,第3頁被破壞並重新建立,當我接近它.如果我在第3頁,第1頁也是如此.
這在我的應用程式中引起了很多問題.這些碎片根本不是非常重的RAM,所以我該如何阻止這種情況發生?
.
在你的情況下,以下應該保持你的碎片在記憶中,而不是破壞它們.
ViewPager pager = (ViewPager) findViewById(R.id.viewPager); pager.setOffscreenPageLimit(2);
但是,我懷疑您在銷燬時不正確地儲存您的檢視狀態.您的碎片應正確處理被毀壞/重新建立.如果發生方向改變,您的碎片將被破壞並重新建立.如果使用者離開您的應用程式並且系統以後需要記憶體並銷燬您的活動,也可能會發生這種情況.它應該能夠重新開啟並處於與之前相同的狀態.如果這確實是您的問題,請考慮在onSaveInstanceState() 儲存狀態.儲存的狀態將在onCreate 中提交給您,您可以將該片段的狀態初始化為與已銷燬的狀態相同.
http://stackoverflow.com/questions/13273285/how-do-i-tell-my-custom-fragmentpageradapter-to-stop-destroying-my-fragments