簡體   English   中英

在活動之間來回導航時,如何釋放圖像並避免outOfMemory exc-n [android]

[英]How do I release images and avoid outOfMemory exc-n when navigating back and forth between activities[android]

我有一個兒童故事應用程序-18頁,每頁都是一個活動,其中包含背景圖片,故事中的每個單詞 (textView)的短故事和聲音以及一些動畫。

我注意到,當我轉到下一頁時,內存已耗盡;

當我返回上一頁(活動)時,它也會被消耗 當應用程序達到約182MB使用量時,我會收到outOfMemory異常-這可以隨時發生。

[R

  • 如果圖像是每個頁面中RelativeLayout的背景,如何釋放圖像?

  • 每次導航到下一頁時,上一頁都會被破壞-它加載的圖像是否也應該從內存中釋放出來?

     public class Page8 extends Activity{ ImageView forward ; ImageView backward ; RelativeLayout main ; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.page8); forward = (ImageView)findViewById(R.id.to_page_9); backward = (ImageView)findViewById(R.id.to_page_7); forward.setOnTouchListener(new View.OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { if (event.getAction() != MotionEvent.ACTION_DOWN) return false; Intent intent = new Intent(Page8.this, Page9.class); startActivity(intent); return true; } }); backward.setOnTouchListener(new View.OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { if (event.getAction() != MotionEvent.ACTION_DOWN) return false; Intent intent = new Intent(Page8.this, Page7.class); startActivity(intent); return true; } }); } @Override public void onStop(){ main = (RelativeLayout)findViewById(R.id.main) ; main.releaseMemory()?; } } 

我認為您有高清圖像,應該優化圖像並縮小圖像。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM