Monthly Archives: December 2014

Crash bug fix on devices with low memory

If you tried the MusicTrans demo and it crashed at launch this is important news for you.

With the help from some users, we found that the memory allocated by MusicTrans at launch was too much for many devices (1GB of RAM). A new version that fixes this problem has been released a few minutes ago, so if MusicTrans just crashed on your device this new version may fix that.

We also fixed a problem with the license checking routine.  At first launch the license was handled as expected, but once the license data was saved to avoid excessive network traffic, the license check failed.  So some valid users were restricted to 2 minutes of use, like if they were using the demo version. This is also been fixed now.

Now some technical details for those interested…

The processors found on most Android devices are very limited in power in comparison with the processors found in desktop machines.  The digital signal processing code in MusicTrans is very intensive, and it has been heavily optimized to run on this small processors.  One of the techniques used to run this code faster is to pre-calculate as much data as possible, but this technique has the drawback of requiring more memory to store the results of this calculation.

In the previous version (the one that most people have tried), the size of the pre-calculated data was “a little” relaxed, and unexpectedly they added up to 1GB of RAM.  This situation was undetected on my test devices but some users reported the crash, and looking at the code traces I found that Android couldn’t load the digital signal processing code because of the amount of RAM required.

I dropped some pre-calculated data on any code path where it didn’t made a major change, and then I ran some test to see exactly how much data where required to hold some parts where the real limits weren’t clear enough.

After those changes, MusicTrans memory use dropped from 1GB to about 40MB of RAM with just a minor performance impact, so it shouldn’t crash on any devices because of memory use now.

BTW: Did you notice that the APK is only 700KB?  Think that there are simple apps like “flashlights” with APK of 6MB or more!!