タグ

ブックマーク / 319ring.net (4)

  • Android: 画面に合わせて画像を縮小して読み込む | 自転車で通勤しましょ♪ブログ

    Nexus OneやDesireではエラーが起きなくなったのに、HT-03AではOut of Memoryによる強制終了が頻発。これをどうやったら解決できるのか?色々と考えたけれど、DDMSを使ってHEAPのメモリ使用量を見たら、圧倒的に画像が占めているぽかったので、Bitmap自体のメモリ使用率を下げること以外に方法はないのだろうと。じゃあ、どうすればいいか?読み込む画像サイズを、BitmapFactiory.decodeStream()で読み込むタイミングで大きすぎる画像は小さくして読み込んでやれば、使用するメモリ量は少なくて済むだろうと。なんでも、Xperiaで取った写真を読み込んだだけでOut of Memoryが発生したりするから、サイズを最適化したらいいというのを見て、ネット上の画像でもできるだろうと判断。通信は複数回になっているのかもしれんが、まぁわからん。 しかし、やってみ

  • Android: SoftReferenceでOut of Memory対策 | 自転車で通勤しましょ♪ブログ

    現在Androidで画像を扱うアプリを作っているのですが、Androidの場合、画像を大量に扱うと、あっという間にメモりを使い果たしてOut of Memoryで強制終了してしまうという悲しい現実があります。画像をある程度キャッシュするようにしないと、毎回画像をインターネットからDLすることになってパフォーマンスは低下するし、かといってキャッシュするとOut of Memoryが発生する…。 Web+DB Press Vol.57で、onPauseのタイミングで大きなリソースは解放してしまい、小さなリソースのみキャッシュするというふうにするとOut of Memoryが発生しにくいというふうに書かれていたので、サムネイルのみキャッシュして、でかい画像は全くキャッシュしないように実装してみたのだけれど、どうもしっくりこない。やっぱりパフォーマンスが落ちるからでしょう。 パフォーマンス対策のみ

  • Android: AlarmManagerのPendingIntentでハマった | 自転車で通勤しましょ♪ブログ

    先週からずっとBatteryCrystalのバグ修正と戦っているのですが、 未だに収束していません!(>_<) バッテリー状態を見張るBroadcastReceiverを登録しているServiceがシステムに勝手に落とされるのがバグの原因と思っているのでそれをなんとかしようと色々と修正し、twitterでアプリの検証をしてくださる方を募ってテストしていただいているのですが、まだ直らず。今さっき出来たバージョンでたぶんいけると思うのですが、深夜なので、メールは朝させてもらおうと思ってます。 とりあえず、今までやったことを一覧にしておきます。 AlarmManagerを使って制御。 ただ、AlarmManager.setしたイベントがウィジェットを削除してもServiceを起動させてしまったため、断念(私のミス) ServiceのonDestroyのタイミングで、独自のBroadcastを投げ

  • Android: Bitmapを画面サイズにリサイズする | 自転車で通勤しましょ♪ブログ

    なんか同じ事を何度もやってるような気がしてきたので、クラス作っときました。 Bitmapを端末の画面サイズに合わせてリサイズします。縦横比は固定してるので、変な画像になることはないかと。画像扱う人はよくやる処理だと思うので、よかったら使ってやって下さい。パッケージ名は勝手に付けて下さい。 import android.app.Activity; import android.graphics.Bitmap; import android.graphics.Matrix; import android.util.DisplayMetrics; public class ImageUtils { private static final String TAG = "ImageUtils"; public static Bitmap resizeBitmapToDisplaySize(Activ

  • 1