I have an intriguing performance problem concerning an application in live trials.
Unfortunately a significant performance issue is being seen once the device (MC55A0) has been in continual operational use for around 2 hours. After 3 to 4 hours, it's unusable. It's used for scanning and data capture.
The symptom of performance degradation is seen mostly in screen transitions.
When the device is loaded with the application and run for the first time, it takes approximately 1 second between screen transitions. After two hours, the users are seeing around 30 seconds between screen transitions. After 3 or 4 hours, two minutes.
Other performance degradation symptoms are seen with the time taken for the application to respond to button presses, input field data loading (value defaults for example) and the spinning icon slows right down in between screen transitions.
I have done a basic check of memory usage and CPU utilisation and can see no difference between a slow device and a performant device.
However, if I terminate the application (Menu, Exit), the performance symptoms disappear immediately and reappear only after further continued use. Also, if I perform a database reset (Rhom::Rhom.database_full_reset), after a period of a few minutes, the application performance issues disappear and again, only reappear after further continued use. But, if the application database is preloaded with a significant amount of data, the performance problem is NOT apparent except after the above continued use.
I was initially looking for coding problems but could not spot anything obvious. But I am suspicious of the SQLite database due to the problem being resolved after database_full_reset, and since preloading the database does not exhibit any performance issues.
I am using JQM (yes I know this is not recommended on WM) however the customer is comfortable with the performance (and look) of the device when it is first used. Since the application is a multipage application, there could be an issue with the continued reloading of the JQM JS libraries but I suspect this least due to the database_full_reset fixing the issue.
Can anyone shed any light on the performance degradation over time and what it might be attributable to - whether SQLite, JQM, multi page, possible code issues (resources), config.xml, deeper memory/resource consumption issues, other etc?
Any help appreciated and no idea is a daft one
Scanning and Data Capture