[TouchPad General] HP_TOUCHPAD:
For the record, the Kernel is stable and solid and the ROM is not the problem. The issue is how Android is designed to work, as an operating system is the worse ever created and I will explain why.

In my understanding the Operating System ( OS ) should give the best use of the hardware detected and provided by the Kernel. It should some how manage to accommodate the resources for an App to run. I use Hearthstone to test my settings, if I can play the game successfully then the settings are correct. Android is not designed to take in consideration the amount of RAM available, the system resources been use, the CPU utilization. It does not manage anything, everything is done with manual settings by applying KSM modules low memory killers. Everything is by killing process to make another one run and those settings the user must decide what to enter, is a mess.

And the worse of all the settings that create lags and Apps not running, is the Dalvik Virtual Machine.

Android Apps are written in Java and to get around the licensing with Oracle the codes run using the open source Dalvik Virtual Machine. Basically there is a Virtual Machine running the App codes than then uses the RAM to run. The settings for the Dalvik Virtual Machine are manually enter in the build.prop located in the /system partition.

All settings are specifically enter for each specific Device, according to the screen size and RAM available, is preset from factory.

By changing the following, the Apps will behave completely different or not work at all. It can have 8 GB or RAM, but if is set to minimum it will work as a low memory Device.

dalvik.vm.heapstartsize=

dalvik.vm.heapgrowthlimit=

dalvik.vm.heapsize=

If you do a search you will find all kind of settings by users claiming that the settings they have changed work better, but because is specifically to only the Device or amount of free RAM available it does not work for others. In the case of the HP Touchpad, it never came with a default Android and the numbers have been a guessing formula and it changes with every ROM and also the amount of install Apps.

How does this affect the Apps?

If after the ROM is install there is 350 MB of free RAM and the dalvik.vm.heapsize= is set to 350, then when the App that required more RAM try to run, the heapsize will grow to 350 MB , but that is the free RAM which is taken and then no actual RAM to be use and it crash or close.

But if the Dalvik settings are set low then it will barely work, even if there is 8 GB free RAM.

That is the reason that some Apps does not work for everyone as every user has different Apps installed providing a different amount of free RAM.

Is very difficult to have the perfect Dalvik settings for a low device as Android process are working in the background and it only takes a 20 MB process to launch for an App to crash or not work at all.

If Android will automatically detect the amount of RAM entered in the App manifest (settings) and adjust the Dalvik Virtual Machine size and dropped unnecessary process to free RAM then more apps will work on every device, but it does not work that way, all settings are manually enter per device.

Hopefully I explained the issue correctly and attached are the screenshots taken using Android Pie (9) with open gapps Pico. Hearthstone plays perfectly as you can see I have progress on the game, I will provide all the flash files for everyone to achieved the same results, but I am testing and improving.