firebase との連携

とりあえず連携してみる https://qiita.com/miso_develop/items/c2008235cb4a8567cfa9#firebase%E3%81%AE%E8%A8%AD%E5%AE%9A

とりあえずしゃべらせる

https://qiita.com/ktetsuo/items/8c9cd5714e231aa6ae09 https://qiita.com/azipinsyan/items/db4606aaa51426ac8dacnode.js/npmとは?

いまさら Raspberry Pi3+

Raspberry pi setup 参考 https://jyn.jp/raspbian-setup/ https://a244.hateblo.jp/entry/2017/12/22/234815#%E5%88%9D%E6%9C%9F%E8%A8%AD%E5%AE%9A GUI/CLIログイン切換え http://ysdyt.github.io/blog/2015/03/27/raspi-cli-gui-login/ ROM焼き SSH・WIFI…

ListView の CHOICE_MODE_SINGLE

ListViewのシングルチョイスモードは、リストアイテムは、Checkableなクラスでないと、 シングルチョイスすることができない。Checkableなクラスは、CheckBox, CheckedTextView, CompoundButton, RadioButton, ToggleButton ぐらいなので、 CHOICE_MODE_SING…

ListViewのアイテム

ListViewのアイテムに対して、onClickListenerなどを設定すると、OnItemClickListenerが呼ばれない。推測だが、以下のようなものなのだろう。 View階層 押下通知 説明 View ↓ ユーザの押下通知はスルー ListView ↓ ユーザ押下が処理される。ListViewは、押さ…

スクロール時の描画方法

どうやっているのかずっと気になっている。ScrollViewのソースコードを読み込むonTouchEvent() をハンドリングしている タッチ移動時 ACTION_MOVE -> ScrollView::scrollBy -> ScrollView::scrollTo -> View::scrollTo -> invalidateフリング時 ACTION_UP ->…

ロック画面のリソース

ロック画面のスライドバーは、どうやって作られているのだろうか。キーワード com.android.internal.widget.RotarySelector keyguard_screen_rotary_unlock.xmlcom.android.internal.widget.SlidingTab res/layout/keyguard_screen_tab_unlock.xmlinternalば…

サービス起動

外部アプリからサービスを起動しようとすると、 Access Denial で起動できない。AndroidManifest.xml の タグのandroid:exportedをtrueに設定しておかないと、 外部アプリから起動することはできない。しかし、を設定しておくと、デフォルトでexportedはtrue…

XMLの読み込み

設定値を扱うためにXMLを利用したい場合、 どのように扱うのだろうか。 Parserを利用する。 DOM XmlPullParser androidにおけるリソースファイルの読み込み リソースファイルは、XMLで記述されており、これを読み込むためのフレームワークが存在するはず。 …

雑多なメモ

Debug手法? http://omappedia.org/wiki/Android_Debuggingパンダボード http://pandaboard.org/ http://blog.sola-dolphin-1.net/archives/3173852.htmlメモリマップ http://home1.catvmics.ne.jp/~kanemoto/linux/nr-linux.html http://www-06.ibm.com/jp/…

Eclairのメモリキャッシュ問題?

これはどういう意味? https://groups.google.com/group/android-kernel/browse_thread/thread/86c77b8ccb7d8944?hl=ja 今はどうなっているのか。

メモリ空間

Linuxは、どのようにメモリマップを設定しているのか。カーネルのメモリ空間 http://wiki.bit-hive.com/linuxkernelmemo/pg/%A5%AB%A1%BC%A5%CD%A5%EB%B6%F5%B4%D6%A4%CE%A5%E1%A5%E2%A5%EA%A5%DE%A5%C3%A5%D7

Low Memory Killer の ソースコード

という訳で、lowmem_shrink() の詳細をチェックする。 static int lowmem_shrink(int nr_to_scan, gfp_t gfp_mask) { struct task_struct *p; struct task_struct *selected = NULL; int rem = 0; int tasksize; int i; int min_adj = OOM_ADJUST_MAX + 1;in…

LowMemory Killer

いまさらながら、androidさんには、プロセスが殺される要因として、 OOM Killerとは別に、LowMemoryKiller が存在していることに気づいた。そして、OOM Killerによって殺されていると考えていたのが間違いだった。 http://blog.kmckk.com/archives/2795577.h…

NativeのOOM Killer 避け関数

以下のような記述有り。 frameworks/base/cmds/dumpstate/utils.c にあった。 /* prevents the OOM killer from killing us */ void protect_from_oom_killer() { int fd;fd = open("/proc/self/oom_adj", O_WRONLY); if (fd >= 0) { // -17 should make us …

OOM Killer 起動条件

突然プロセスが殺されるOOM Killerは、メモリが不足した時に起動されるようです。 メモリが不足したとは、どのような状態なのでしょうか? グーグル先生に聞いてみます。 メモリ確保について Linuxは、仮想メモリ+物理メモリ以上にmallocできる。 それは、…

sysdump meminfo の emulator間の違い

sysdump meminfo について、Froyo/Eclair(emu)で動作が異なることに気づいた。 Eclairでは、allocated が 16Mを超えると、OutOfMemoryになるが、 Froyoでは、allocated が 16Mを超えても、OutOfMemoryにはならない。 Froyoのvm.heap.sizeは16Mに設定されてい…

SoftReferenceとBitmapオブジェクト

SoftReferenceを使うと、OutOfMemoryが発生する前のGCによって オブジェクトを解放させることができる。*1ただし、SoftReferenceを利用しても、OutOfMemoryが発生することもあります。 Bitmapオブジェクトは、Naiveヒープに画像データを保存します。 このNat…

Max Heap サイズの変更

以前は、CUSTOM_RUNTIME_HEAP_MAX によって定義されていたようだが、 eclairでは、プロパティ「dalvik.vm.heapsize」で決まるようである。 strcpy(heapsizeOptsBuf, "-Xmx"); property_get("dalvik.vm.heapsize", heapsizeOptsBuf+4, "16m"); //LOGI("Heap s…

ヒープサイズ

ヒープは、Javaだけでなく、Nativeでも消費される。 たとえば、BitmapFactoryにより、Bitmapオブジェクトを生成した時、 画像データは、Nativeヒープが使われている。 (malloc()で確保されているようです)以下のdumpsysコマンドでjava/nativeそれぞれのメモ…

読みたいもの

http://stackoverflow.com/questions/1945142/bitmaps-in-android

気になること

Nativeのメモリ使用量・計測方法ddms sysinfothrow life さんのオブジェクト管理の話 http://www.adamrocker.com/blog/248/overview-of-the-dalviks-object-management.htmlDalvikVM 内部動作についてのまとめ http://togetter.com/li/13564プロセスのメモリ…

Gingerbreadのddms起動

Android-9へバージョンアップすると、 android-sdk-windows以下のファイル構成が変更される。その結果、ddms.batがadbを認識できす、エラーを吐く。環境変数Pathに、android-sdk-windows\platform-tools を追加すれば動く。

Eclipse(Helios) へのMemoryAnalyzerのインストール

メニューより、「ヘルプ」→「新規ソフトウェアのインストール」 インストールウィンドウより、「作業対象」=http://download.eclipse.org/releases/helios General Purpose Toolより、以下を選択 Memory Analyzer Memory Analyzer(Charts) [optional] 後は…