나 자신이 갤럭시 넥서스를 가지고 있는데, android:largeHeap="true"
매니페스트 옵션이이 휴대 전화에서 작동한다는 것을 알고 있지만 아이스크림 샌드위치 (예 : 삼성 Nexus S)로 업그레이드되는 구형 휴대 전화에서 작동하는지 궁금합니다.안드로이드의 대형 힙 옵션은 ICS로 업그레이드 된 오래된 휴대폰에서 작동합니까?
내가 묻는 이유는 큰 비트 맵을 많이 사용하는 응용 프로그램을 만들었 기 때문에 응용 프로그램이 원래 힙 크기가 48MB 인 태블릿을 위해 설계 되었기 때문입니다. Galaxy Nexus는 각 응용 프로그램에 사용할 수있는 힙 크기가 48MB이므로 응용 프로그램이 태블릿이 아닐지라도이 전화기에서 아름답게 작동합니다.
문제는 Nexus S는 32MB의 힙만 사용할 수 있기 때문에 ICS가있는 구형 전화에서 작동하도록 응용 프로그램에 큰 힙 옵션이 필요합니다.
내 질문 :android:largeHeap
옵션은 여전히 사용 가능한 힙 메모리를 늘립니까? 나는. Nexus S의 기본 용량이 32MB 인 경우이 기능을 사용하여 64MB의 버블을 액세스 할 수 있습니까?
이 옵션에 익숙하지 않은 사용자는 응용 프로그램의 사용 가능한 힙 메모리가 늘어나고 성능이 저하됩니다. 다른 대안이 없을 때만 사용해야합니다. 여기에 업데이트
는 사용 가능한 힙 크기를 표시하는 응용 프로그램 패키지입니다 : 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로 업데이트 된 질문을보십시오. –