我的应用有问题。 我的活动包含以下xml代码:
<ScrollView
android:id="@+id/main_scroll"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<LinearLayout
android:id="@+id/layout_container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:paddingLeft="16sp"
android:paddingRight="16sp"
android:paddingTop="16sp" >
</LinearLayout>
</ScrollView>
使用inflate,插入包含图像.png的LinearLayout! 这会导致Grow heap(frag case)。 有一种方法可以减少堆的增长,维持这种设置吗?
这是插入MainActivity的布局:
<LinearLayout
android:id="@+id/layout_scheda_serie"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:orientation="vertical" >
<TextView
android:id="@+id/text_scheda_nome"
style="?android:textAppearanceLarge"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textStyle="italic" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="?android:selectableItemBackground"
android:orientation="horizontal" >
<LinearLayout
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:gravity="center"
android:orientation="vertical" >
<TextView
android:id="@+id/text_scheda_simbolo"
style="?android:textAppearanceLarge"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="25sp"
android:textStyle="italic" />
<TextView
android:id="@+id/text_scheda_numero"
style="?android:textAppearanceLarge"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="25sp"
android:textStyle="italic" />
<TextView
android:id="@+id/text_scheda_massa"
style="?android:textAppearanceSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@android:color/secondary_text_light_nodisable" />
<TextView
android:id="@+id/text_scheda_ossidazione"
style="?android:textAppearanceSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@android:color/secondary_text_light_nodisable" />
</LinearLayout>
<LinearLayout
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:gravity="right"
android:orientation="vertical"
android:padding="5sp" >
<com.chElem.RecyclingImageView
android:id="@+id/imageView_scheda_foto"
android:layout_width="165sp"
android:layout_height="165sp"
android:src="?android:selectableItemBackground" />
</LinearLayout>
</LinearLayout>
谢谢!
答案 0 :(得分:0)
如果我正确地理解了你的问题,那么答案很遗憾就是答案,你无法避免这种情况。
当您将Activity的布局和多个图像加载到内存中时,堆使用量将不可避免地增长。