アプリのメモリ警告を検知する

By daichi1128
コメントはありません »
このエントリをはてなブックマークに追加このエントリをdel.icio.usに追加このエントリをLivedoor Clipに追加このエントリをYahoo!ブックマークに追加このエントリをFC2ブックマークに追加このエントリをNifty Clipに追加このエントリをPOOKMARK. Airlinesに追加このエントリをBuzzurl(バザール)に追加このエントリをChoixに追加このエントリをnewsingに追加

Application | Android Developers

アプリ内でのメモリが不足した場合、ApplicationクラスのonLowMemory()が呼ばれるようです。

Applicationクラスを継承したMyApplicationクラスを作成し、onLowMemory()を実装してみます。

これをアプリに登録します。
AndroidManifest.xmlのapplicationタグのandroid:name属性に完全修飾クラス名を指定。

これでメモリ不足になった時にキャッシュを開放などできるようになりますきっと。


Bitmap.setPixel()をsetPixels()に変えたら3倍速くなったよ

By daichi1128
コメントはありません »
このエントリをはてなブックマークに追加このエントリをdel.icio.usに追加このエントリをLivedoor Clipに追加このエントリをYahoo!ブックマークに追加このエントリをFC2ブックマークに追加このエントリをNifty Clipに追加このエントリをPOOKMARK. Airlinesに追加このエントリをBuzzurl(バザール)に追加このエントリをChoixに追加このエントリをnewsingに追加

ずいぶん前に画像をモザイク風に加工するエントリを書きましたが、あれを少しいじったらだいぶ早くなりましたよ、というご報告です。

こんなコードでモザイク処理に350~360msくらいかかってました

Android開発でのパフォーマンスTips(1) | Techfirm Android Lab
を見直して、ループ前にgetterなどで参照する値はローカル変数にキャッシュしてみると、

310~320msになりました。
少しでも早くなると、テンションが上がる。

でもこのコードはまだまだ早くなれるはずだ。

今はループの中でbitmap.getPixelしてsetPixelして1ピクセル単位で読み書きしてるのでこれをガバッと一発で配列に取り出して、ループ内では配列を操作して、ループ後にsetPixelsで配列をセットするように変更してみる。

これだと、90~110msまで早くなった。

bitmap.getPixes()に引数は順番に
1.色の配列。int[]ここにピクセルデータが入ってくる
2.offset。int配列のどこから書きこむか。
3.謎
4.ビットマップのピクセルを読み始めるX座標
5.ビットマップのピクセルを読み始めるY座標
6.ビットマップの幅
7.ビットマップの高さ

ということなので、getPixelsの前にnew int[width * height]している。
Androidでは1ピクセルのカラー情報はintで表わすので、それを横×縦分の配列で受け取っている。

setPixelsはgetPixelsの逆。
第一引数のint配列をbitmap上のどこに書くかを指定する。

copyPixelsToBufferや copyPixelsFromBuffer の方が早いかもしれないがまだ試していない。
きっとBig iguchiがやってくれるに違いない。


Xperia™ Touch & Try Event at 銀座

By 松田幸一
コメントはありません »
このエントリをはてなブックマークに追加このエントリをdel.icio.usに追加このエントリをLivedoor Clipに追加このエントリをYahoo!ブックマークに追加このエントリをFC2ブックマークに追加このエントリをNifty Clipに追加このエントリをPOOKMARK. Airlinesに追加このエントリをBuzzurl(バザール)に追加このエントリをChoixに追加このエントリをnewsingに追加

3月6日から12日まで東京・銀座のソニービル8階で、一般ユーザーが発売前の「Xperia」を体験できるタッチ&トライイベントが開催されています。

s

公式ページ:http://www.sonyericsson.co.jp/product/docomo/so-01b/event/

R0010675
Xperia(TM) タッチ&トライの様子
PICTRHYTHM

PICTRHYTHM

PICT RHYTHM を実機を使って説明s中
PICT RHYTHM を実機を使って説明中

会場ではXperiaのタッチ&トライと同時に当社が開発している「PICT RHYTHM」の説明を行っています。

実際にXperia上での動作を見てください。HT-03A を使っている人であればさくさくと動く様子を見て驚くこと間違いなし!

気軽に PICTRHYTHM  をフォローしてください。

PICTRHYTHMをフォローしましょう


Android NDKを使用してJava言語とC言語で速度比較をする

By Big Iguchi
1 コメント »
このエントリをはてなブックマークに追加このエントリをdel.icio.usに追加このエントリをLivedoor Clipに追加このエントリをYahoo!ブックマークに追加このエントリをFC2ブックマークに追加このエントリをNifty Clipに追加このエントリをPOOKMARK. Airlinesに追加このエントリをBuzzurl(バザール)に追加このエントリをChoixに追加このエントリをnewsingに追加

今回はAndroid NDKを使用して、JavaコードとC言語で記述されたNativeコードで速度の比較を行おうと思います。

まずはNDKをインストールします。以下のリンクからndkをダウンロードします。

http://developer.android.com/intl/ja/sdk/ndk/1.6_r1/index.html

ダウンロードしてきたら以下を実行しインストールします。
$(NDKROOT)/build/host-setup.sh

これでインストールが完了です。簡単ですね。

早速、Javaのコードを書いて速度比較していきましょう。

続きを読む


端末の情報を取得する | TelephonyManager

By YuiChiLo
コメントはありません »
このエントリをはてなブックマークに追加このエントリをdel.icio.usに追加このエントリをLivedoor Clipに追加このエントリをYahoo!ブックマークに追加このエントリをFC2ブックマークに追加このエントリをNifty Clipに追加このエントリをPOOKMARK. Airlinesに追加このエントリをBuzzurl(バザール)に追加このエントリをChoixに追加このエントリをnewsingに追加

何かと端末の情報を取得したいシーンは多いと思います。

そんなときに使用するのが、TelephonyManager クラスです。

端末の情報にアクセスするため、権限の設定も必要になるので以下のように、
AndroidManifest.xmlファイルに”READ_PHONE_STATE”の権限設定をします。

続きを読む


Android入門【第8回:マーケットに公開したアプリをバージョンアップしてみた】

By wachi
コメントはありません »
このエントリをはてなブックマークに追加このエントリをdel.icio.usに追加このエントリをLivedoor Clipに追加このエントリをYahoo!ブックマークに追加このエントリをFC2ブックマークに追加このエントリをNifty Clipに追加このエントリをPOOKMARK. Airlinesに追加このエントリをBuzzurl(バザール)に追加このエントリをChoixに追加このエントリをnewsingに追加

してみたシリーズ第2弾。
前回作成したアプリをバージョンアップしたいと思います。
大した内容じゃなくて済みません。

アプリの主な変更点は・・

・音量調整
ハードウェアキーで音量を調整しようとすると、メディアではなく着信音量が変わってしまって不便。
(音が鳴っている瞬間にハードウェアキーを押すと変更できる事はできるけど、やっぱり不便)

・onClickからonTouchへ
画面に触れた時に音が出るようにしたかったので、変更します。
今は、指を離した瞬間(=クリックが完了した瞬間?)だったので、ちょっと違和感がありました。

そして、これらの変更点を加えて、マーケットに修正版(v.2)をアップしたいと思います。

続きを読む


iPhone開発者のためのAndroid入門【Viewの配置】

By daichi1128
コメントはありません »
このエントリをはてなブックマークに追加このエントリをdel.icio.usに追加このエントリをLivedoor Clipに追加このエントリをYahoo!ブックマークに追加このエントリをFC2ブックマークに追加このエントリをNifty Clipに追加このエントリをPOOKMARK. Airlinesに追加このエントリをBuzzurl(バザール)に追加このエントリをChoixに追加このエントリをnewsingに追加

iPhoneアプリ開発者もそろそろAndroidへ参入しようかなと考えている人も多いと思います。
なので今回から、iPhone開発者のためのAndroid入門をはじめようと思います。

今回はビューの配置についてです。
iPhoneでのビューの配置は、追加するビューに親ビューに対するframeを指定して、[view addSubview:addView]などとすれば、好きな場所にビューを追加できますが、Androidでは少し勝手が違います。

続きを読む


Androidマーケットについて

By 山田
コメントはありません »
このエントリをはてなブックマークに追加このエントリをdel.icio.usに追加このエントリをLivedoor Clipに追加このエントリをYahoo!ブックマークに追加このエントリをFC2ブックマークに追加このエントリをNifty Clipに追加このエントリをPOOKMARK. Airlinesに追加このエントリをBuzzurl(バザール)に追加このエントリをChoixに追加このエントリをnewsingに追加

今回は、皆さんが大好きなお金、つまりマニーの話をしたいと思います。

Androidマーケットにアプリを出して、がっぽがっぽ大儲け!といった妄想を自分はしていました。これで、s○nyのLEDブ○ビアや、c○re i7 で、メモリ4GのWind○ws7搭載PCも買える!とか思っていました。なので、プライベートな時間を削って、結構頑張ってアプリを作って、公開してみました。

でも、現実はそんなに甘くなかったのです。そんなに上手くいかないのが世の常…という事を思い知らされました。そんな自分の個人的な体験談を綴ってみたいと思います。

続きを読む


AlarmManagerに異なるintentと認識させる方法

By 山田
コメントはありません »
このエントリをはてなブックマークに追加このエントリをdel.icio.usに追加このエントリをLivedoor Clipに追加このエントリをYahoo!ブックマークに追加このエントリをFC2ブックマークに追加このエントリをNifty Clipに追加このエントリをPOOKMARK. Airlinesに追加このエントリをBuzzurl(バザール)に追加このエントリをChoixに追加このエントリをnewsingに追加

AlarmManagerを使っていて、こんな経験はありませんか?

Pending Intentに入れるintentの設定で、遷移先のクラスは一緒で、intentに設定するデータが異なる予定を別々にセットしたい!

たとえば、普通に以下のように設定しようとすると、AlarmManagerでは同じintentとして見なされてしまう為、古いintentが上書きされてしまいます。

続きを読む


Android vs iPhone【Controller】

By daichi1128
コメントはありません »
このエントリをはてなブックマークに追加このエントリをdel.icio.usに追加このエントリをLivedoor Clipに追加このエントリをYahoo!ブックマークに追加このエントリをFC2ブックマークに追加このエントリをNifty Clipに追加このエントリをPOOKMARK. Airlinesに追加このエントリをBuzzurl(バザール)に追加このエントリをChoixに追加このエントリをnewsingに追加

今回からAndroidアプリとiPhoneアプリの仕組みの比較をしてみます。
両方触ってみると全く違う部分もあるのですが、結構と似ている部分があったりするので、似ている部分は比較して、一緒に覚えてしまえばいいじゃん!というノリです。
今回はMVCでいうControllerにあたるActivity(Android)とUIViewController(iPhone)です。

続きを読む