Hatena::Groupandroid

dann@android

 | 

2009-07-11

androidのパフォーマンスまわり

01:21 | androidのパフォーマンスまわり - dann@android を含むブックマーク はてなブックマーク - androidのパフォーマンスまわり - dann@android

以下のbest practiceと、Google I/Oの動画みるのが吉。

http://developer.android.com/guide/practices/design/performance.html

http://d.hatena.ne.jp/dann/20090622/p1

めちゃくちゃJavaっぽくない感じの実装になりますが、パフォーマンスを維持するにはいたしかたないって感じですかね。

モバイルでバイス向けのWeb APIはJSONで

01:10 | モバイルでバイス向けのWeb APIはJSONで - dann@android を含むブックマーク はてなブックマーク - モバイルでバイス向けのWeb APIはJSONで - dann@android

基本的にモバイル系のデバイスのXML系処理は、処理性能とメモリ制約の関係からXML関係のライブラリのサポートはあまりありません。

割と既存ライブラリは、DOMとかでXMLをつくって、リクエストを生成するので、DOM系のライブラリ使ってる物は、ライブラリを修正してandroid用にportingしないといけません。そのため、APIがAtomPubとかだとそれをサポートするのに既存ライブラリをそのままでは使えずに、自前で作っていく必要があり、作り込みが多くなるのでなかなか面倒ですね。

WebサービスのCRUDAPIJSON形式のAPIがあると、モバイルデバイス用のアプリを作るのが簡単になりますね。

POST時にRequestのContent-Length headerが落ちる件

23:35 | POST時にRequestのContent-Length headerが落ちる件 - dann@android を含むブックマーク はてなブックマーク - POST時にRequestのContent-Length headerが落ちる件 - dann@android

うーん、android付属のHttpClientのバグっぽいなぁ。

  • HttpPostをつかって、Postすると、Content-Lengthがheaderがつかない
  • Content-Length headerを明示的に設定すると、既に設定されているといってClientProtcolExceptionが発生

抜け道があるのかソース読まないとわからず。パッチ書いときたいな。このせいで1時間くらい色々ソース読んだりとはまった...

# 結局、RequestContentをDefaultHttpClientで参照しているメソッドをoverrideして対処。RequestContent中で、reuqestに明示的にContent-Lengthが設定されていると、ProtcolException投げるようになってる。

emulator上でsdcardを使う方法

14:28 | emulator上でsdcardを使う方法 - dann@android を含むブックマーク はてなブックマーク - emulator上でsdcardを使う方法 - dann@android

作り方

  • mksdcard 128Mb sdcard_test

emulatorでの指定の仕方

ADV ManagerでADVつくる時に、上記のsdcard_testのパスを、emulator側で指定。

 |