2025/04/05 ~ 2025/04/11 のもくもく日記
もくもく 前回までは
2025/03/29 ~ 2025/04/04 のもくもく日記 をご覧ください。
途中経過
その1
今日はNode .js のヒープ制限に引っ掛かったのだけど、初めてすぎてびっくりしたw
Tracing garbage collection を参考に下記コマンドを試しながら調整してみたのだけど、 始めてみるオプションばかリだったw
- GC の様子の確認
node --trace-gc ???.js
- 意図的にヒープサイズを制限する
node --max-old-space-size=?? ???.js
その2
動的にJava コードを呼び出す? ServiceLoader
の仕組みは、このブログが参考になりそう。
Google Auto(AutoService)を使ってサービス・プロバイダー(ServiceLoader)向けのファイルを自動生成する - CLOVER🍀
その3
Hyperion-Android のコードを読んでいたら、 AndroidManifest に見慣れない記述があるなと思って調べてみたら、 そういえばAndroid アプリ起動時に自動的に実行されるライブラリがあったことを思い出した。
App Startup | App architecture | Android Developers
ちなみに依存関係の解決は下記のあたりでやっているように見えた。
その4
Hyperion-iOS も、何故ライブラリを導入するだけで機能が使えるかを調べていたのだけど、 多分下記のコードでSwizziling している点が肝な気がした。
どちらもクラスを拡張して、Objective-C 文法の + (void)load
のタイミング(メモリ展開後、main関数呼び出し前) でSwizziling しているっぽい。
今回の進捗
- GitHub
- Nintendo Switch でトレーニングを進めた
- 本を読み進めた