我想知道Android在將視圖加載到佈局時以及在何時顯示並且未在屏幕上顯示時如何管理內存。當視圖顯示時,Android如何管理內存?
基本上我做了一個應用程序,需要一個非常非常長的頁面,填充位圖和文本 - 類似於網頁。我知道我應該使用標準視圖,如GridView和ListView來處理大量的視圖和圖像,但這是一個利基應用程序。 (設計是一成不變的)
說我有這個佈局
<ScrollView>
<LinearLayout>
1000 ImageViews vertically stacked inside here.
</LinearLayout>
</ScrollView>
當滾動型加載並非所有的ImageViews將適合在屏幕上 - 是ImageView的位圖是不是在屏幕上仍然加載進入記憶?如果沒有,當它們滾動到視圖中時,它們會從視圖中滾動出來,並從內存中移除它們?
NB:我知道GridViews/ListViews是爲此目的而設計的,但我的應用程序有一個特殊的設計,不能容納這些視圖。
潛在的解決方案:擴展gridview,使它有一個固定的高度,並不滾動,直到它所包含的ScrollView
已達到底部。即:
<ScrollView>
<LinearLayout>
Lots of text and a few images.
<GridView> <-- attach listener so that touch events are
ignored until at bottom of scroll view -->
1000s of ImageViews
</GridView>
</LinearLayout>
</ScrollView>
是的,這是我認爲可能發生的事情。 – JackMahoney 2013-02-28 05:01:15
感謝您的更新。我已經在過去的滾動視圖中放置了滾動視圖,但它可以完成http://stackoverflow.com/questions/9804230/list-view-inside-a-scroll-view(我的回答) – JackMahoney 2013-02-28 05:10:03
很酷。如果你有信心,那就去做吧。 – 2013-02-28 05:12:57