我在彼此之上绘制一组图像,类似于http://webhelp.esri.com/arcgisserver/9.3/java/geodatabases/data_themes_as_layers.gif,其中每个图像都有透明区域和可点击的区域。我们的想法是拥有一个可点击区域的车辆图像,当然有些区域是不可点击的,这些区域是透明的。
每张图片的格式不同:HDPI,MDPI,XHDPI,XXHDPI,XXXHDPI。 渲染它会导致某些设备崩溃,因为它耗尽内存,所以显然这里做错了或者图像太大了?我确实根据规格检查了图像的大小。
我使用的布局:
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/ScreenLayout"
android:layout_width="match_parent"
android:layout_height="match_parent">
<ImageView
android:id="@+id/BASE"
android:tag="-1"
android:src="@drawable/car_base_right"
android:layout_width="match_parent"
android:layout_height="match_parent" />
<ImageView
android:id="@+id/car_B1"
android:tag="0"
android:background="@android:color/transparent"
android:src="@drawable/car_B1_green"
android:layout_width="match_parent"
android:layout_height="match_parent" />
<ImageView
android:id="@+id/car_B2"
android:tag="0"
android:background="@android:color/transparent"
android:src="@drawable/car_B2_green"
android:layout_width="match_parent"
android:layout_height="match_parent" />
<ImageView
android:id="@+id/car_B3"
android:tag="0"
android:background="@android:color/transparent"
android:src="@drawable/car_B3_green"
android:layout_width="match_parent"
android:layout_height="match_parent" />
<ImageView
android:id="@+id/car_B4"
android:tag="0"
android:background="@android:color/transparent"
android:src="@drawable/car_B4_green"
android:layout_width="match_parent"
android:layout_height="match_parent" />
<ImageView
android:id="@+id/car_B5"
android:tag="0"
android:background="@android:color/transparent"
android:src="@drawable/car_B5_green"
android:layout_width="match_parent"
android:layout_height="match_parent" />
<ImageView
android:id="@+id/car_B6"
android:tag="0"
android:background="@android:color/transparent"
android:src="@drawable/car_B6_green"
android:layout_width="match_parent"
android:layout_height="match_parent" />
<ImageView
android:id="@+id/car_B7"
android:tag="0"
android:background="@android:color/transparent"
android:src="@drawable/car_B7_green"
android:layout_width="match_parent"
android:layout_height="match_parent" />
<ImageView
android:id="@+id/car_B8"
android:tag="0"
android:background="@android:color/transparent"
android:src="@drawable/car_B8_green"
android:layout_width="match_parent"
android:layout_height="match_parent" />
<ImageView
android:id="@+id/car_B9"
android:tag="0"
android:background="@android:color/transparent"
android:src="@drawable/car_B9_green"
android:layout_width="match_parent"
android:layout_height="match_parent" />
<ImageView
android:id="@+id/car_B10"
android:tag="0"
android:background="@android:color/transparent"
android:src="@drawable/car_B10_green"
android:layout_width="match_parent"
android:layout_height="match_parent" />
<ImageView
android:id="@+id/car_B11"
android:tag="0"
android:background="@android:color/transparent"
android:src="@drawable/car_B11_green"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</FrameLayout>
答案 0 :(得分:2)
您正在处理大型图像并在运行时加载所有图像。 您必须通过加载大小来非常仔细地处理大图像 你不需要一次完整的图像,然后进行缩放。
android:largeHeap=”true”
标记。