ついにauからもandroidケータイが発表されました。
以下にきれいなお姉さんとともに紹介されています。
ついにZAURUSやNetWalkerの理想が実現、au初のAndroidスマートフォン「IS01」の実機ムービーいろいろ – GIGAZINE
んー。イイですね!
さて。今回は以前SDカードに画像保存をしましたが、読み込みをします。
ContentResolverでSDカードに画像保存 | Techfirm Android Lab
ついにauからもandroidケータイが発表されました。
以下にきれいなお姉さんとともに紹介されています。
ついにZAURUSやNetWalkerの理想が実現、au初のAndroidスマートフォン「IS01」の実機ムービーいろいろ – GIGAZINE
んー。イイですね!
さて。今回は以前SDカードに画像保存をしましたが、読み込みをします。
ContentResolverでSDカードに画像保存 | Techfirm Android Lab
Android、いかがですか。
今日もOut Of Memory、出していますでしょうか。
そんなあなたに朗報です。
少しでもメモリにやさしいプログラムを。
今日はSoftReferenceのお話です。
高性能なAndroid™ 搭載スマートフォン「HTC Desire™」が登場~ソフトバンクモバイル初のAndroid™ 搭載スマートフォン~ | ソフトバンクモバイル株式会社
ついにsoftbankからもandroid端末が発売されます。国内初のAndroid OS2.1の端末です。
面白くなってきました。
さて。今回はAndroidでcoverflowを実現したサンプルコードを見つけたのでご紹介。
Interfuser: Android Coverflow Widget
上記リンク先記事の一番下にソースコードがzipで配布されています。
使い方はGalleryと同じ感覚で使えるようです。
このサンプルコードでは、Coverflow表示前にリソースを取得して、反射画像等もそのタイミングで生成してしまっているので、Nexus Oneで動作確認してみましたがサクサク快適です。
動的に画像読み込みする時は遅くなってしまいそうなので、工夫が必要か。
AndroidはOSもマーケットもオープンなので、将来的には他者に負けまいと各メーカー独自のAPIが用意され、マーケット側でも差別化のために独自のAPIが整備され、選択肢が増える反面、一括で対応するのはほぼ不可能になり、市場は細切れになっていくんだろうなぁという気がしているdaichi1128です。
さて、今回はAndroidのデータベースアクセスの肝になるContentResolverを使ったSDカードへの画像保存をやってみます。
目標はギャラリーに表示させるところまで。
A3へ参加するためにアプリを作っていますが、なかなかパフォーマンスが出ずに苦労しています。
そこでいろいろ探しまわった所、パフォーマンス向上に役立つ情報をいろいろ見つけたのでご紹介。
こんにちはBig iguchiです。
前回の「Android NDKを使用してJava言語とC言語で速度比較をする」に引き続きAndroid NDKで遊んでみます。
今回はただ、計算するだけでなく少し実用的に画像の平均RGBを取得するコードをJavaとC言語で比較しようと思います。
Androidの場合、画像データをBitmapで扱うことが多いのですが、このままだとC言語で扱いにくいので、「Bitmap.setPixel()をsetPixels()に変えたら3倍速くなったよ」でdaichi1128が言っているようにgetPixelsでint型の配列として色情報を取得します。以下になります。
bitmap.getPixels(pixels, 0, originalWidth, 0, 0, originalWidth, originalHeight);
getPixelsの第1引数にはbitmapの色情報がint型で以下のフォーマットで返ってきます。
0xFFFFFFFF
| 24~31ビット | alpha |
| 16~23ビット | red |
| 8~15ビット | green |
| 0~7ビット | blue |
つまり、以下のコードでピクセル毎にRGBカラーを取得できるということですね。
この処理をC言語で行いたいために、この第1引数のint配列をJavaからC言語に渡せればいいですね。方法は以下のようにしました。
・Java言語側
・C言語側
同様な処理をJavaでも記述して、前回と同様に実行してみました。

JavaとNativeで答えも一致してますね。海の画像を使ってみたんですがblueとgreenの平均値が高いのできちんと解析できてますね。そして速度もNativeの方がかなり早い。画像処理にもAndroid NDKは十分使えそうです。
これを応用すれば、「Androidでモザイク画像を作ってみる」のモザイク処理や他の画像処理も高速化出来ると思います。皆さんぜひやってみてください。
今回は以上となります。
海に行きたい。
Application | Android Developers
アプリ内でのメモリが不足した場合、ApplicationクラスのonLowMemory()が呼ばれるようです。
Applicationクラスを継承したMyApplicationクラスを作成し、onLowMemory()を実装してみます。
これをアプリに登録します。
AndroidManifest.xmlのapplicationタグのandroid:name属性に完全修飾クラス名を指定。
これでメモリ不足になった時にキャッシュを開放などできるようになりますきっと。
ずいぶん前に画像をモザイク風に加工するエントリを書きましたが、あれを少しいじったらだいぶ早くなりましたよ、というご報告です。
こんなコードでモザイク処理に350~360msくらいかかってました


3月6日から12日まで東京・銀座のソニービル8階で、一般ユーザーが発売前の「Xperia」を体験できるタッチ&トライイベントが開催されています。
公式ページ:http://www.sonyericsson.co.jp/product/docomo/so-01b/event/
PICTRHYTHM
会場ではXperiaのタッチ&トライと同時に当社が開発している「PICT RHYTHM」の説明を行っています。
実際にXperia上での動作を見てください。HT-03A を使っている人であればさくさくと動く様子を見て驚くこと間違いなし!
気軽に PICTRHYTHM をフォローしてください。