1

我已经跟踪了堆大小并在不同设备上分配了内存。我想知道为什么这些价值观之间存在差异,您的处理方法是什么?感谢您的帮助。

我的 layout.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

    <FrameLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerInParent="true" >

        <ImageView
            android:id="@+id/imageView1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:src="@drawable/square1" />

        <TextView
            android:id="@+id/textView1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:text="@string/hello_world"
            android:textSize="@dimen/txt_size" />

    </FrameLayout>

</RelativeLayout>

设备

设备

i9100

i9100

p6700

p6700

n7000

n7000

4

1 回答 1

2

dalvik vm 堆大小在每个 android 版本/设备上的 /system/build.prop 首选项文件中设置。确切的偏好键是dalvik.vm.heapsize。该值以兆字节为单位,取决于设备功能

如何处理不同的值?以下是一些一般性提示

  • 始终让您的应用在您计划支持的最低规格设备上可用
  • 为每种类型的设备提供所有类型的资源,特别是图像和视频。
  • 对引用要格外小心,因为它们可能会阻止垃圾收集器取回内存(又名内存泄漏)
于 2012-11-18T21:13:07.810 回答