Scribble at 2024-01-10 10:35:18 Last modified: unmodified
よく、iPhone のプロセス(タスク)一覧から子プロセスを廃棄(kill)する必要はないとか、寧ろアプリケーションを立ち上げるたびに無駄なオーバーヘッドがかかるので廃棄するべきではないなどと解説している事例を見かけるんだけど、それって無条件に言うようなことなのかという気がするんだよね。iPhone 用のアプリケーションであろうと、動作不良はあるし、フリーズしたりハングすることもある。それに、当たり前だがたいていのアプリケーションではメモリ・リークが生じるし、プラットフォームである iOS でもプロセスが増えるたびに浪費されるメモリもあろう。
そもそも、Windows に比べたら Linux のプログラムが起動するときのオーバーヘッドは最初から少ないとされているわけであって、起動したり終了したりを繰り返したところでコンピュータ(iPhone も、まごうかたなき「コンピュータ」だ)に大きな負荷がかかるわけでもない。寧ろ子プロセスを意味もなく残留させていることにこそ、色々なリスクがあると想定するべきではないか。ということで、僕は標準的な解説(あの何千ページにもなる iOS のユーザーガイドにすら書いてある)には従っておらず、おおよそ週に1度は子プロセスを全て廃棄している。