結果
まずは結果から。
こんな感じ。
[2016/06/03 3機種追加]
今回の追加分は@_postNogenoraさんに情報提供いただいたNexus 6/SBM104SHと
手持ちのSC-05G。
ありがとうございます!
MODEL | API Level | getMemoryClass() | getLargeMemoryClass() | ご協力 |
Nexus
|
||||
Nexus 6 | 23 | 256MB | 512MB | @_postNogenoraさん |
Nexus 10 | 17 | 192MB | 512MB | オレ |
Nexus 7(2013) | 18 | 192MB | 512MB | @kimukou2628さん |
Nexus 7(2012) | 18 | 64MB | 384MB | オレ |
Nexus 5 | 19 | 192MB | 512MB | オレ |
Nexus 4 | 18 | 192MB | 512MB | オレ |
Galaxy Nexus | 17 | 96MB | 256MB | オレ |
Nexus S | 16 | 48MB | 128MB | オレ |
docomo
|
||||
SC-05G | 23 | 256MB | 512MB | オレ |
F-05F | 19 | 192MB | 512MB | @wakuimasashiさん |
SH-04F | 19 | 128MB | 384MB | @wakuimasashiさん |
SH-05F | 17 | 128MB | 384MB | @wakuimasashiさん |
SO-04E | 16 | 128MB | 384MB | オレ |
SO-03E | 16 | 128MB | 384MB | オレ |
SO-02E | 16 | 128MB | 384MB | オレ |
SH-04E | 16 | 64MB | 256MB | オレ |
F-10D | 15 | 72MB | 256MB | オレ |
SO-05D | 15 | 64MB | 256MB | オレ |
SO-03D | 15 | 64MB | 256MB | オレ |
N-02E | 15 | 64MB | 256MB | @takkeさん |
SC-06D | 15 | 64MB | 256MB | @kimukou2628さん |
SO-01F | 17 | 192MB | 512MB | オレ |
F-01F | 17 | 128MB | 384MB | オレ |
SC-01F | 18 | 128MB | 512MB | オレ |
L-01F | 17 | 128MB | 256MB | オレ |
F-07E | 17 | 128MB | 384MB | オレ |
L-05E | 17 | 96MB | 256MB | オレ |
SH-07E | 17 | 64MB | 256MB | オレ |
N-06E | 17 | 128MB | 384MB | オレ |
SH-06E | 17 | 128MB | 384MB | オレ |
SC-04E | 17 | 128MB | 512MB | オレ |
HW-03E | 16 | 256MB | 256MB | オレ |
L-04E | 16 | 128MB | 256MB | オレ |
dtab01 | 16 | 256MB | 256MB | オレ |
P-02E | 16 | 128MB | 384MB | オレ |
F-03E | 15 | 72MB | 256MB | オレ |
SH-02E | 15 | 64MB | 256MB | オレ |
HW-01E | 15 | 128MB | 256MB | オレ |
SO-01E | 16 | 64MB | 256MB | オレ |
SH-01E | 15 | 54MB | 160MB | オレ |
P-08D | 15 | 48MB | 256MB | オレ |
SH-10D | 15 | 64MB | 256MB | オレ |
F-11D | 15 | 84MB | 128MB | オレ |
L-06D | 15 | 70MB | 256MB | オレ |
T-02D | 15 | 72MB | 256MB | オレ |
N-07D | 15 | 64MB | 256MB | オレ |
L-05D | 15 | 64MB | 256MB | オレ |
SH-09D | 15 | 64MB | 256MB | オレ |
F-09D | 15 | 72MB | 128MB | オレ |
SH-07D | 15 | 48MB | 128MB | オレ |
SC-05D | 15 | 64MB | 256MB | オレ |
au
|
||||
SOL25 | 19 | 143MB | 463MB | @wakuimasashiさん |
SCL23 | 19 | 128MB | 512MB | @wakuimasashiさん |
SOL23 | 17 | 192MB | 512MB | オレ |
SCL22 | 18 | 128MB | 512MB | オレ |
SHL22 | 17 | 64MB | 256MB | オレ |
KYY21 | 17 | 96MB | 256MB | オレ |
HTL22 | 16 | 192MB | 384MB | オレ |
SOL22 | 17 | 192MB | 512MB | @hikaru__mさん |
SOL22 | 16 | 128MB | 384MB | オレ |
HTL21 | 16 | 128MB | 256MB | @takkeさん |
SCL21 | 15 | 64MB | 256MB | オレ |
FJL21 | 15 | 72MB | 256MB | オレ |
IS17SH | 15 | 54MB | 160MB | オレ |
ISW16SH | 15 | 64MB | 256MB | オレ |
IS15SH | 15 | 54MB | 160MB | オレ |
ISW13HT | 15 | 48MB | 128MB | オレ |
IS12S | 15 | 64MB | 256MB | @takkeさん |
IS11LG | 15 | 64MB | 64MB | オレ |
ISW11SC | 15 | 64MB | 256MB | オレ |
ISW11F | 15 | 72MB | 256MB | オレ |
URBANO PROGRESSO | 15 | 64MB | 256MB | オレ |
SoftBank
|
||||
SBM107SH | 15 | 64MB | 256MB | オレ |
SBM104SH | 15 | 64MB | 256MB | @_postNogenoraさん |
IS11LGはlargeHeap有効時もヒープサイズは増えないようです。
IS11LGだけなのか、他にも同様の端末があるのか分かりませんがリファレンスをみると
ActivityManager | Android Developers http://developer.android.com/reference/android/app/ActivityManager.html#getLargeMemoryClass()
This may be the same size as getMemoryClass() on memory constrained devicesとあるので、許容動作の模様。
コード
検証用のコードは、こんな感じ。
package com.tytosoft.largeheapchecker; import android.app.Activity; import android.app.ActivityManager; import android.os.Build; import android.os.Bundle; import android.widget.TextView; public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ActivityManager activityManager = (ActivityManager) getSystemService(ACTIVITY_SERVICE); String info = "MODEL : " + Build.MODEL + "\n" + "API Level : " + Build.VERSION.SDK_INT + "\n" + "getMemoryClass() : " + activityManager.getMemoryClass() + "MB\n" + "getLargeMemoryClass() : " + activityManager.getLargeMemoryClass() + "MB"; TextView textView = (TextView) findViewById(R.id.textview); textView.setText(info); } }
getMemoryClass() : largeHeap無効時のヒープサイズ
getLargeMemoryClass() : largeHeap有効時のヒープサイズ
だと思っている。
アプリ
検証に使ったアプリをGoogle Playにアップしてみました。
largeHeapはAPI Level 11から使えますが、3.xタブレットはもう考慮しなくて良いと思っているのでminSdkVersionは14としています。
お手持ちの端末で動かしたスクリーンショットなどをこちらまで送っていただければ、上記の表に追加したり、しなかったりします。