タグ

androidとMemoryに関するclavierのブックマーク (6)

  • Application Contextは使ってはいけない - ちりもつ on ytRino

    タイトルは誇張です。 みんな大好きpotatotipsという勉強会で以下のようなトークがあったようです。(現場には行っていません) 曰く「ActivityContextで何千回もやったら数回リークが検出された。 なるべくApplicationContextを使おう」とのことらしいですが、間違いなく死人が出る(誇張)と思いますのでご注意ください。 (追記20160527: 修正されたようです なんかすみません) speakerdeck.com 結論 Application Contextは使わないでください。(誇張) (実際は使うときは使う) なぜApplication Contextなのか Application Context使おうぜ!という根拠の記事としてこちらのフェンリルのDeveloper's Blogの [追記あり] Android 開発で気をつけたいこと 〜変数名と Conte

    Application Contextは使ってはいけない - ちりもつ on ytRino
  • LeakCanaryでメモリリークを検出する - Qiita

    Squareがメモリリークを検出するライブラリ square/leakcanary を公開したので、さっそく使ってみたらすごく便利だった話です。 A small leak will sink a great ship Piwaiが書いたLeakCanaryの記事がこちらです。 LeakCanary: Detect all memory leaks! 要約すると、 Squareではビットマップキャッシュに顧客の署名を書いていたが、端末の画面のサイズ分のメモリを確保するので、署名をするときにクラッシュすることがあり、それがOOMの大半を占めていた。 Bitmap.Configを変更したり、OOMをキャッチしてGCを走らせたりしたが、問題の解決には至らなかった。 我々は間違ったアプローチを取っていたことに気が付いた。ビットマップの大きさではなくメモリリークが根的な原因だったのだ。 通常であれば

    LeakCanaryでメモリリークを検出する - Qiita
  • Memory Analysis for Android Applications

    [This post is by Patrick Dubroy, an Android engineer who writes about programming, usability, and interaction on his personal blog. — Tim Bray] The Dalvik runtime may be garbage-collected, but that doesn't mean you can ignore memory management. You should be especially mindful of memory usage on mobile devices, where memory is more constrained. In this article, we're going to take a look at some o

    Memory Analysis for Android Applications
  • 最近のAndroid事情に対応した「OutOfMemoryErrorを知る」発表スライドを公開しました - ひつじのにっき

    横浜Android and モバイルOS プラットフォーム部で発表した資料です。 資料はAndroidアプリ開発者をターゲットにまとめました。OutofMemoryErrorの発生原理とメモリ管理について最新事情を加味してまとめました(新版、なのはAndroid 1.xのころの発表が古いのにまだ参照されていたりで、さすがに最新事情に合わせて更新したかったのです)。 Androidアプリにおけるメモリ事情は(初期に比べたら)改善していますが、OpenCVなど画像処理の需要、高解像度対応を踏まえると依然として十分とは言いがたいユースケースもあります。そんな中でメモリ資源をうまく使うための指標となれば幸いです。 資料にもある通り書きかけの状態ですのでコメントやmentionなど「こんな情報があるから書き加えて」「ここ調べて」「こういうのがおすすめ」「ここ間違えてる!」というご意見いただければ嬉し

    最近のAndroid事情に対応した「OutOfMemoryErrorを知る」発表スライドを公開しました - ひつじのにっき
  • Android のメモリ管理 #4 SoftReference と WeakReference を活用する | DevelopersIO

    参照方法によってメモリの解放タイミングが異なる Android ではオブジェクトがヒープ領域にたまりメモリ不足が生じたとき、 ガベージコレクション(GC) が起動して不要なオブジェクトのメモリを開放してくれます。 実装コードではすべてのオブジェクトを手動で開放する必要はなく、基的には GC の挙動に任せることでメモリ圧迫を軽減できます。特に「不要なオブジェクト」という点が重要で、GC はオブジェクトの参照状態を見て不要かどうか判断します。 参照方法にはいくつか種類があります。通常の参照方法は強参照と呼ばれますが、そのほかにソフト参照(SoftReference)や弱参照(WeakReference)と呼ばれる参照方法があります。これらの参照方法によって GC でメモリから開放されるタイミングが異なるというわけです。 ということで今回は SoftReference と WeakRefere

    Android のメモリ管理 #4 SoftReference と WeakReference を活用する | DevelopersIO
  • 富豪的 Android プログラマの為の Eclipse Memory Analyzer Tool 入門 - sandbox

    はじめに Android プログラマのみなさん、こんにちは。 今日も元気に Out Of Memory してますか? ということで、この記事では日々 OOM に悩まされる Memory 的な意味で富豪的な Android プログラマの為に、Eclipse Memory Analyzer Tool、通称 MAT の基的な使い方を紹介します。 尚、この記事は [twitter:@youten] さんが企画された裏 Android Advent Calendar 12/20 の記事ですが、内容的には比較的オモテなものになっています。 対象読者 Andoid アプリ作ってる/はじめたけど、まだ MAT を使ったことがない方 MAT を使ってみようした事はあるものの、画面から難しそうな雰囲気を察知し、起動10秒後にはそっとタブを閉じてしまった経験がある方 DDMS の基的な使い方を理解している方

    富豪的 Android プログラマの為の Eclipse Memory Analyzer Tool 入門 - sandbox
  • 1