なんとなく見えてきた
・AndroidではBMP/JPG/PNGだろうが、
Bitmapへ代入した時点でピクセル数でメモリを食う
4.5MByteの地図は原寸ではjpgでも読めないし
Scale1/4圧縮して読み込んでも、5枚読み込もうとすると、エラー
だいたい5MByteが境界線
MATと
http://www.eclipse.org/mat/
BIRTエンジンを入れておくと
DDMSのHPROFで
こんな感じでメモリ専有状態がわかって便利。
便利というかXCodeでは普通に付いてるんだけど。
そーやって追っていくとBitmapでHeapを食いつぶしている。
エミュレーターのVMHEapを16から、Nexus7と同じ48にしてもダメ
これは、
・Androidは大きいHeapを使う場合は、
AndroidManifextにLargeHeap=Trueを設定する必要があり。
らしい。
とりあえず2000x1000は読めるようになった。
調子にのって画像ファイルを大きくしてたら、実機でエラー
・Log猫さん「OpenGLは2048x2048以上はテクスチャに出来ないの。馬鹿なの?」
実機でしか起きないけど、Bitmapは2048x2048以上はダメっぽい。
大体絵の方は分かったけど、拡縮する場合は2048x2048はきっついなぁ。
ハイドライドみたいに、スワイプスクロールにするか、
タイルで並べて同期スクロールするか。
でもなんか境界線がUltimaOnlineのブリ東のサーバー境界みたいに、
ジェスチャ引っかかったり、画像ずれそう。
0 件のコメント:
コメントを投稿