自分自身でギャラクシーネクサスを手に入れました。android:largeHeap="true"
マニフェストオプションがこの携帯電話で動作することがわかりましたが、アイスクリームサンドイッチ、すなわちSamsung Nexus Sにアップグレードされている古い携帯電話で動作しているかどうかはわかりませんでした。Androidの大きなヒープオプションは、古い携帯電話をICSにアップグレードすると機能しますか?
私は大きなビットマップを大量に使用するアプリケーションを構築しており、アプリケーションはもともと48 MBのヒープサイズのタブレット用に設計されているということです。 Galaxy Nexusには、アプリケーションごとに48 MBのヒープサイズが用意されているため、アプリケーションはタブレットではないにもかかわらずこの電話で美しく動作しています。
問題は、Nexus Sには32 MBのヒープしかありません。そのため、ICSを搭載した古い携帯電話で動作させるには、アプリケーションに大きなヒープオプションが必要です。
私の質問:android:largeHeap
オプションは、まだ使用可能なヒープメモリを増やしますか?私。デフォルトでNexus Sに32 MBがある場合、これを使用して64 MBのperhapにアクセスできますか?
このオプションについてよく知られていない人は、パフォーマンスが低下してアプリケーションのヒープメモリが増加します。他の方法がない場合にのみ使用してください。
更新
ここでは、使用可能なヒープサイズを表示するアプリケーションパッケージです:http://michellbak.dk/TestHeapSize.apk
ソースコードは、有害な何もないことを示すために、以下の通りです:
package com.miz.heapsize;
import android.app.Activity;
import android.app.ActivityManager;
import android.os.Bundle;
import android.widget.TextView;
public class MainActivity extends Activity {
private TextView text;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
ActivityManager am = ((ActivityManager)getSystemService(Activity.ACTIVITY_SERVICE));
int memory = am.getMemoryClass();
int largeMemory = am.getLargeMemoryClass();
text = (TextView) findViewById(R.id.textView1);
text.setText("Normal heap size: " + memory + "\nLarge heap size: " + largeMemory);
}
}
マニフェストファイル:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.miz.heapsize"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk android:minSdkVersion="11" />
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:largeHeap="true" >
<activity
android:label="@string/app_name"
android:name=".MainActivity" >
<intent-filter >
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
希望する情報をダンプしてソースコードを公開しているアプリを整理すると、ICSを実行しているNexus Sで実行されます。 – CommonsWare
ありがとう、私はちょうど利用可能なヒープメモリの量を表示する小さなアプリを書くだろう。私は短い間にコメントにリンクを投稿します。 –
私の更新された質問をソースコードとapkで見てください。 –