Android PF have kill alive process when heigher priority process need heap. This report explain that produce Low Memory Killer situation on purpose You think it so simple. just to make application to consume many heap. but, it difficult that your thinking way. following problem - A. Android PF restrict application java heap per one process. - B. heap comsuming application is killed by Android PF. This report introduce KyoroStress 's solution. [KyoroStress solution] Kyoro Stress done following approach. - 1. Booting many service in the process of differing respectively. - 2. Each Service consumes a lot of heaps. The problem of A is solved by booting many process, and B too, alive heap is more consume instead of kill service's heap [BigEater(consuming heap service) 's senario] - 1. consume the specified heap. if retry is true, then consuming heap is repeated repeatedly until the specified heap is consumed - 2. recovery killed service if retry is true, then repeated repeatedly until killing this working thread. - 3. END you think. if ALL Service is killed by PF, when this senario is failed. but no problem. PF revcovery Killed service. so, keeping to consuming heap situation. [KyoroStressV2 's manual] # start start consuming heap. # stop stop consuming heap. and release. # num of big eater booting process num. # eatup java heap size consuming heap size per one process. # is retry retry option # show notification if true, consume notification. # lowMoemory if true, mean low memory state # availMemory available memory, # threshold boundary low memory state. # dalvik.vm.heapsize if android:largeHeap="true" 's application available heap size. # dalvik.vm.heapgrowthlimit if android:largeHeap="false" 's application available heap size. # lahalito now consuming java heap # kadorto now recovery another killed process. # done all task all task is end. [Output] There is apk and source is following site https://github.com/kyorohiro/KyoroStressV2 Google Play address is following https://play.google.com/store/apps/details?id=info.kyorohiro.helloworld.stressv2
2013年2月20日水曜日
Inside KyoroStress -1- Create Low Memory Killer situation on purpose!!
登録:
コメントの投稿 (Atom)
mbedtls dart の 開発を始めた web wasm ffi io flutter
C言語 で開発した機能を、Dart をターゲットとして、Web でも サーバーでも、そして Flutter でも使えるようにしたい。 そこで、mbedtls の 暗号化の部分を Dart 向けのPackageを作りながら、 実現方法を試行錯誤する事にした。 dart...
-
[課題] Low Memory Killer を意図的に発生させたい Androidには、ヒープが涸渇すると使われていないアプリをKillする機能があります。 この記事では、意図的にヒープを枯渇させて、この状態をつくる方法について説明します。 単純にヒープを大...
-
UPnPを用いて、NAT越えできました。しかし、ルータがUPnPをサポートしていなかったり。UPnPだけでは越えられないNATがあります。 本文では、その代案として前回解説できなかった。「適当なサーバーに接続してみて、相手から見えているアドレスを返してもらう方法」について解...
-
Dart の Native Extensions を利用して、 SDL を用いたマルチプラットフォームのゲーム開発環境を作れるか検証してみた。 結論からいくと、 「Mac 上で動作する SDL x Dart の アプリは動作させることが難しいよ」 と言うことです。 Wind...
0 件のコメント:
コメントを投稿