The CPU load generated by this tool is high.
The tool launches several Android Services that continue to calculate the SHA1 value of a 2MB buffer filled with random data. By pushing the button, you can control how many Android Services are launched. I believe that CPU load is highest when you launch a number of services that is the same as the number of CPU cores.
This tool is too heavy. According to user feedback, several devices were broken. Please use this app carefully. It uses only MessageDigest#update() and MessageDigest#digest().
You can ask the manufacturer for repair if the device is broken since the device is responsible for making sure all Android APIs work properly.
With this script, a fixed CPU load can be generated for a set period of time. A PI controller is employed for this purpose. There are two threads used to implement the CPU monitor and the controller. The script takes in input the desired CPU load, the duration of the experiment, and the core on which the load will be generated.