페이지를 표시할 수 없습니다. Error 404 Not Found. 요청하신 파일을 찾을 수 없습니다. 입력하신 페이지의 주소를 확인해주시기 바랍니다. 닷홈으로 이동
페이지를 표시할 수 없습니다. Error 404 Not Found. 요청하신 파일을 찾을 수 없습니다. 입력하신 페이지의 주소를 확인해주시기 바랍니다. 닷홈으로 이동
« Android での起動時間 | メイン | InterCodeContext を分離 » 2012年01月03日 吉里吉里Java:: OutOfMemory対策 Tweet @jin1016をフォロー Android で画像を読み込んだり、生成した時によく発生する OutOfMemoryError 。 本当にメモリが足りない時はどうしようもないが、解放されずに残っているオブジェクト等の影響で確保に失敗することがある。 このような状況を避けるためには、単純に以下のようにして1度目は OutOfMemoryError 例外をキャッチして、GC を実行し、再度確保を試みるようにすれば、成功することが多い。 当然、自身で多くのメモリを使用している場合はどうしようもない。 try { mImage = Bitmap.createBitmap( w, h, Bitmap.Config.A
Loading Large Bitmaps Efficiently の内容なのですが、補足も入れてメモっておきます。 端的にいうと、 実際に表示するサイズより大きい Bitmap を読みこむのはメモリの無駄 (拡大させるとかなら話は別だけど) ・高解像度のカメラで取られた写真は往々にしてディスプレイのピクセルサイズより大きい ・サムネイルとして使うのに元のサイズのまま読み込むのはばかげてる ・大きいサイズの Bitmap をメモリに展開したら OutOfMemoryException になる ステップとしては3つ 1. メモリに Bitmap 展開せずに、サイズや MimeType だけを取得する 2. 1. の情報をもとにサブサンプルにサイズを決める 3. 2. で決めたサブサンプルで Bitmap をメモリに読み込む 1. メモリに Bitmap 展開せずに、サイズや MimeType
Androidで開発をやっていると、何度もOutOfMemoryErrorに出くわすことが多いです。Androidは搭載メモリ自体が少なく、1アプリケーションあたり最高で16M。推奨だと8M程度(実際使ってみるとそれより少ない感じ)とされています。そのため、普段PCで開発するのとは違って、結構メモリの容量を意識してプログラムしないといけなかったりします。 普通にちょっとしたプログラムを組む分にはいいのですが、結構困るのはサイズのでかい画像イメージを扱う場合です。特にデジカメなんかで撮った画像は最近のデジカメの画素数がすごいため、jpgファイルの段階で数メガバイトあったりします。 そうした画像をBitmapFactory.decodeFileメソッドなんかで、一度に何枚も読み込んでしまうと、もともとサイズの大きなjpgがメモリ中展開されて更に大きくなってしまうため、あっという間にOutOfM
日本Androidの会 関西支部 マニアック勉強会での発表資料です。 OutOfMemoryErrorを知る(PDF) 発表後に指摘を頂き、該当箇所を修正しています。 ありがとうございます。 JNIオブジェクトにはGCが効くよ、という点 (nativeでのmallocには効かないです)。今回のポイントはBitmap.recycle()です。 BitmapFactory利用時に、大きな画像を読み込むとOutOfMemoryErrorが発生するケースがあります。 OOMを避けるための方法を紹介しました。 ポイントは以下の3点です。 Bitmap.recycle() Bitmap.isRecycle()を活用 recycleメソッドを呼び出しておくと、メモリが足りなくなった段階で自動的に メモリを解放してくれます。描画完了後、次回描画まで間がある場合などに使えます。 もちろん次にBitmapを使
Galleryから取得したビットマップ画像をJPEGで保存する方法にてメモリがオーバーフローすることは、画質と解像度を下げる方法で対処した →【Android】Bitmap取得後のOutOfMemoryError [ その1] しかし、画質はまぁしょうがないとしても解像度を変えるのはヨロシクナイって訳で再度調査を進めた結果、解像度を変えずに画質を下げてJPEG保存することができた そんなメモ // ビットマップ画像を取得 ContentResolver conReslv = getContentResolver(); Bitmap bitmap = MediaStore.Images.Media.getBitmap(conReslv, photoUri); long dateTaken = System.currentTimeMillis(); // 取得時のファイル名 String n
Galleryから取得したビットマップ画像をJPEGファイルとして保存する際、OutOfMemoryに見舞われた。当初、VGAで撮影した画像の取り扱いであったため気付かなかったが、Xperiaの標準カメラにて8M(16:9)撮影した画像(およそ3MB)を取り扱うと必ず出力されるエラー。 【Android】Galleryを使ってSDカード内の画像をリスト表示する 画像サイズを1/2、画質を20%落としてみると問題なくなった。 そんなわけで作ったメソッドをメモしておく。 画像サイズを変えたくない場合は、 →【Android】Bitmap取得後のOutOfMemoryError [ その2] /** * 指定URIのビットマップ画像を取得する * @param imageUri * @return * @throws IOException */ public Bitmap getBit
開発してるとActivityにBitmapを持たせたいことってよくある でもメンバで持ってると自前で解放しなくてはならない。 Bitmapのメモリ管理はネイティブ側で管理されてるので明示的に開放する必要がある。 マジで?って思ったので実験してみた 実験内容 以下のパターンでBitmapActivityがどのように変化するかを確認 実験1 ImageViewを持たないActivity 実験2 レイアウトでImageViewを持ったActivity 実験3 レイアウトでImageViewを持ち、メンバ変数でもImageViewをもつActivity 実験4 ImageViewを持ち、メンバ変数でBitmapをもつActivity 実験5 Bitmap#recycleの正しい使い方 使うアプリ こんな感じのアプリ 実験2〜4 MainActivity>BitmapActivity>(戻るキーで)
GoogleAppsでメールを使っていたのだが、ServersMan@VPSでメールサーバーを立ち上げたくなった。ただEntryプランで保証メモリは256MB。すでに、常時256MB付近をうろついていることもあり使用メモリ量が大きかった Apache2をチューニングしてみることした。 余分なモジュールはあまりロードしていないようだったので基本的には MPM(Multi Processing Module)のパラメータをチューニングすることにした。 Debian Squeezeのパッケージからは prefork と worker と event の3つがあり、デフォルトでは preforkで動いていた。(apache2-mpm-itkというパッケージがあるが詳細不明) いちばん実績と安定もあるのだろうが、同じリクエストをさばくのであれば、Multi Thread な worker や ev
Apache 2.2.16 でプロセスの使用メモリを減らしてみます。 不要なモジュールのロードを止めます。 結果から先に書くと、 VSZ 仮想メモリ 19.79(MB) ⇒ 18.40(MB) ▲1.39(MB) RSS 物理メモリ 3.20(MB) ⇒ 2.76(MB) ▲0.44(MB) と、なりました。 劇的にダイエット成功!というわけではないですが、多少は効果があるようです。 ・メモリ使用量を確認 ps コマンドで確認します。 USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1682 0.1 2.4 20784 6352 ? Ss 21:17 0:00 /usr/sbin/httpd apache 1685 0.0 1.2 20784 3280 ? S 21:17 0:00 /usr/sbin/httpd ..
「/proc/(pid)/status」のメモリサイズからメモリ消費量をリストアップするスクリプトを準備した。 「サーバ/インフラを支える技術」に載っている、id:naoyaさんの共有しているメモリのサイズを計算するスクリプトとあわせて、エクセルに落とし込んでごにょごにょと計測してみる。 http://d.hatena.ne.jp/naoya/20080212/1202830671 http://archive.linux.or.jp/JM/html/LDP_man-pages/man5/proc.5.html [www]~ $ cat memory_size.sh #!/bin/sh GREP="/bin/grep" AWK="/bin/awk" PRINTF="/usr/bin/printf" if [ $# -lt 1 ]; then echo "usage: ${0} [pid .
php + apache のメモリ量をおさえる
明示的 意味 แพลตฟอร์มการเรียนรู้และพัฒนาทักษะด้วยเทคโนโลยี https://suin.io เป็นแพลตฟอร์มที่ให้คุณเรียนรู้และพัฒนาทักษะทางเทคโนโลยีอย่างสะดวกสบาย เรามุ่งมั่นในการให้ความรู้และประสบการณ์ที่มีคุณค่าในการพัฒนาตนเอง pascalcase
BitmapFactory.Optionsを使う方法は下記が分かりやすいです。 AndroidでBitmapFactoryを使ってサイズの大きな画像を読み込むサンプル BitmapFactory.Options の使い方 の説明をちゃんとしたかったな… 上記の2つの記事だけ読めば大体の利用価値は分かるかと思いますが、 outofmemoryを回避する方法として利用をします。 ひとつは、サイズが大きすぎる事がある場合 options.inJustDecodeBounds = true; BitmapFactory.decodeFile(path, options); //options.outWidth //options.outHeight で横幅と縦幅が取得できます。 この関数に関しては個人的に利用したところ、画像の縦幅と横幅がステージのdencityに対応して変化しているようで、
MySQLのチューニングにおいて非常に重要となるメモリ(バッファ)関連のパラメータについて、 チューニングのポイント DSASのとあるDBサーバ(実メモリ4GB)の実際の設定値 をまとめてみます。 また、必要メモリの総量の計算や限界値を越えてないかチェックしてくれるスクリプトも紹介します。 是非、参考にしてみてください! まず最初に注意点を。 バッファには2つのタイプがあります。 グローバルバッファ スレッドバッファ グローバルバッファはmysqld全体でそのバッファが1つだけ確保されるもので、 これに対し、 スレッドバッファはスレッド(コネクション)ごとに確保されるものです。 チューニングの際にはグローバル/スレッドの違いを意識するようにしましょう。 なぜなら、スレッドバッファに多くのメモリを割り当てると、コネクションが増えたとたんにアッという間にメモリ不足になってしまうからです。 in
Google Chromeはサクサク動作する高速で軽量なウェブブラウザですが、その代わりに動作を安定させるため非常に多くのメモリを使用します。メモリを数ギガバイト以上も搭載しているハイスペックなPCならば特に困ることもありませんが、なかなかそうも行かない人も多いはず。 というわけで今回は、そんな人にオススメの、Google Chromeでメモリを節約して使うのに便利な拡張機能の紹介です。知っておくと案外役に立つことが多いので、非力なマシンのメモリ不足に悩まされている人はぜひ一度試してみてはいかがでしょうか。 TooManyTabs 現在開いているタブをサムネイルで表示できるものですが、この拡張機能の最大の特徴は、開いているタブをサスペンドボックスに入れることによってメモリを開放することができる点です。サスペンドされたタブはURLだけ保存して読み込みを停止してくれるため、ブラウザの表示領域と
ThinkPad T61(7658-A14)のメモリーを標準搭載の512MBから1GB×2枚に載せ替えた際の交換手順まとめ。 今更な感じの内容だけど、とりあえずまとめてみる。 ThinkPad T61の最大メモリー容量はカタログ上では4GB(2GB×2枚)上限になっているけど、実際は搭載しているチップセットがIntel GM965 Expressチップセットなので8GB(4GB×2枚)まで搭載する事が可能な模様。 ただし、32bitOSでの利用可能上限は3GBとなり、それを超える容量を利用する場合は64bitOSの利用が必須になる。 対応するメモリーの規格はPC2-5300(DDR2-667)のS.O.DIMM。 PC2-6400(DDR2-800)のS.O.DIMMも利用できるけど、Intel GM965 Expressチップセットの仕様上、動作速度はPC2-5300相当の333MHzで
日々、秋葉原を歩き待っているわれわれメディア関係者でさえ、たまにふと「アレ?これは新製品だっけ?」とか、「すでに発売していたような……」などと分からなくなる事がままある。それだけ日々なにかしらの新製品が発売されているわけだが、たまにふと思うことがある。 「PCパーツってよくもまぁ毎日新製品があるよなぁ」 と。それを生業としている自分が改めて言うのも変な話というか、むしろ間抜けな話ではあるのだが「それでもやっぱり変わった世界だな」などと思ってしまうのである。 久々に訪れた人はまず最初に驚くだろう、2010年11月にリニューアルオープンした秋葉原駅の電気街口。旧アキハバラデパートに代わってオープンしたアトレ秋葉原1には、女性を意識したオッシャレなショップが多数オープンした さて、筆者が感傷に浸るのはほっといてもらうとして、久々にアキバを訪れるユーザーの皆さんにとっては「そろそろ最新PCを自作し
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く