Entries

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

コメント

コメントの投稿

コメントの投稿
管理者にだけ表示を許可する

トラックバック

トラックバック URL
http://caolira.blog136.fc2.com/tb.php/11-a77efa1c
この記事にトラックバックする(FC2ブログユーザー)

Androidの常識と非常識?

 Androidユーザー初心者として、いくつか「へー」とか「え?」と思ったことを書いてみた。

 参考になれば幸いである。。


 1. アプリを終了させる時の [ホーム] ボタンと [戻る] ボタンの違いは?

  iPhoneだと、アプリを終了する時は [ホーム] ボタンを押す、と相場が決まっている。

  Androidだと、[ホーム] ボタンでも [戻る] ボタンでもアプリが終了できる。
  ただ、[戻る] ボタンだと最初の画面まで戻ってからでないと終了できないが、[ホーム] ボタンだと押したら即終了する。

   「だったら、一回押すだけですぐに終了できる [ホーム] ボタンの方が楽でいい」

  否、[ホーム] ボタンと [戻る] ボタンでアプリを終了させるのは同じではなかったのだ。

   [ホーム] … アプリをバックグラウンドで実行中のまま、一時的にホーム画面に戻る。
   [戻 る] … アプリを終了させてホーム画面に戻る。

  つまり、[ホーム] ボタンは「一時中断」で [戻る] ボタンは「終了」という動作の違いがあった。

  この動作の違いは、Androidのライフサイクルを見れば一発でわかった。

  技術的なことを書くと、終了処理をする onDestroy() が呼ばれるのは [戻る] ボタンを押して終了した時のみ。
  そして、通常メモリ解放等の後始末はこの onDestroy() で実装されている。
  即ち、[ホーム] ボタンを押して終了した場合は、そのアプリが使用していたメモリが解放されないのだ。

  これからアプリを終了する時は面倒でも [戻る] ボタンで終了するよう心がけよう。。


 2. メインメモリと内蔵メモリの違いは?

  メインメモリ … プログラムが実行中に使用するメモリ。
  内蔵メモリ …… プログラムやデータを保存するメモリ。ストレージの意。

  分かり易くPCに例えると、メインメモリは「RAM(メモリ)」、内蔵メモリは「HDD(ハードディスク)」にあたる。
  ※表現が統一されておらず、必ずしも上記の意味で使用されているとは限らないので注意が必要。

  ちなみにGALAXY S/Tabだと、

   メインメモリ … 512MB
   内蔵メモリ … 16GB

  となっている。が。

   「へー。じゃあ本体には16GBまでアプリがインストールできるのか」

  などと思ってはいけない。
  その答えは次に記載する。。


 3. 本体内蔵メモリにはアプリをどれだけインストールできる?

  アプリをインストールする場所は「内蔵メモリ」にあたる。
  しかし、この内蔵メモリがすべてアプリのインストールに使えるわけではない。

  実はこの「内蔵メモリ」には内訳があり、アプリがインストールできる場所が割り当てられている。

  GALAXY Tab 本体から「タスクマネージャ」を起動し、「サマリー」に表示されている内容を見て欲しい。

   ・プログラム (****/1.87GB)
   ・個人データ (****/81.26MB)
   ・ユーザーメモリ(本体) (****/12.66GB)
   ・SDカード (****/****)

  上記4つの領域に分けられていると思うが、この中の「プログラム」がアプリをインストールできる領域になる。
  また、一番容量の多い「ユーザーメモリ」が純粋にストレージとして使用できる領域になる。

  つまり、「本体にインストール可能なアプリの総容量は1.87GBまで」と言うのが答えになる。

   「え?たったそれだけ?少なくない?」

  と、iPhoneユーザでもある自分はそう思ってしまうが、他のAndroid端末と比べると実はかなり大きいようだ。
  また、現在Androidマーケットに登録可能なアプリは「50MB以内」という制限もあるため、Androidではこのくらいの容量があれば十分なのかもしれない。
  ※参考までに、Xperiaの内蔵メモリは約1GB、GALAXY S対抗機のIS03に至っては約500MBと、かなり少ないのが分かる。

  ちなみに、Android2.2以降はSDカード等の外部メモリへの(アプリの)インストールが可能になっている。
  とはいえ、外部メモリへのインストール可否の設定は各アプリが持っているので、すべてのアプリが外部メモリにインストールできる訳ではないが。


 4. (おまけ)タスクマネージャのサマリーに表示されているストレージはどこに割り当てられている?

  開発者であれば気になるところではあると思うので、簡単に調べてみた。

  USBデバッグモードでGALAXY TabとPCを接続して、ターミナルエミュレータでGALAXY Tabのshellに入る。


$ df
 /dev: 227112K total, 0K used, 227112K available (block size 4096)
 /mnt/.lfs: Function not implemented
 /mnt/asec: 227112K total, 0K used, 227112K available (block size 4096)
 /system: 326336K total, 309472K used, 16864K available (block size 4096)
 /data: 1963952K total, 486656K used, 1477296K available (block size 16384)
 /dbdata: 83208K total, 8024K used, 75184K available (block size 4096)
 /cache: 30792K total, 20508K used, 10284K available (block size 4096)
 /efs: 5808K total, 4106K used, 1702K available (block size 1024)
 /mnt/sdcard: 13277984K total, 435776K used, 12842208K available (block size 32768)
 /mnt/sdcard/external_sd: 1929984K total, 1744032K used, 185952K available (block size 32768)
 /mnt/secure/asec: Permission denied


  使用容量は人によって異なると思うが、割当容量は恐らく同じはず。

  タスクマネージャのサマリーに表示されているストレージと、上記ディレクトリの対応は以下のようになった。

   ・プログラム ……………… /data
   ・個人データ ……………… /dbdata
   ・ユーザーメモリ(本体) … /mnt/sdcard
   ・SDカード ………………… /mnt/sdcard/external_sd

  以上。
スポンサーサイト

コメント

コメントの投稿

コメントの投稿
管理者にだけ表示を許可する

トラックバック

トラックバック URL
http://caolira.blog136.fc2.com/tb.php/11-a77efa1c
この記事にトラックバックする(FC2ブログユーザー)
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。