05-20-2013 02:03 AM
My program is complete and I am I am ready to release. The problem is how do I chose which devices to support? I have compiled for 7.0, but it will not work on all 7.0 devices. For some unknown reason on some devices the screen constantly flickers and none of the objects are selectable. I simply cannot test on all devices because there are not simulators available for all of them and testing on actual handsets is certainly not possible. I actually was hoping to support 6.0 and above devices, but I changed to 7.0 when I noticed the flickering on 6.0 devices. Maybe if anyone knows any possible causes of the flickering problem I can fix it, then assume that it will work on all devices. I certainly don't want people to buy my program, then find it doesn't work on their blackberry though.
Solved! Go to Solution.
05-20-2013 04:02 AM
Can't say for sure, but the flickering is most likely caused by something you are doing rather than being a problem with a specific device. So for me I would try to resolve that. More on that later.
With respect to device support I suspect it is reasonable to test on a range of devices rather than all devices, For example, if you test on a 9300, then there is good chance your app will work on a 9320. If you test a good mix (touch/non touch, portrait/landscape etc) this will give you confidence.
In terms of Simulators, I was not aware that there were devices which did not have Simulators. Have you tried downloading additional Simulators from here:
Which devices are missing Simulators?
Coming back to the flickering, this sounds like a problem with the way you are painting something, and in the middle of the paint processing, doing something directly or indirectly causes a repaint - like updating the Field's font. So the first place I would look for this flickering problem is your paint() methods (or paintBackground() methods). The processing should only interact with the graphics Object. If you are doing something with the Field or another Field, then that might cause your problem.
05-20-2013 12:06 PM
05-20-2013 01:21 PM
I will see if I can bump someone about the missing Sims.
Regarding the flicker, I have had code that works fine on some devices and doesn't on others, I think it depends on how optimized the graphics code is for the device. If the flicker is the whole screen, then that suggests you are doing something that potentially updates the layout, for example, changing the font. I think the idea of going through your custom objects is the right way to go, though of course it will be painful.
One other thought I have is regarding backgrounds, and transparency. Older devices did not blend very fast apparently, so I think non transparent images painted a lot faster.
You might not see the issue on the Simulator because it is so fast. Curves are the slowest real devices.
05-20-2013 04:49 PM
I have tested all my custom objects and there is not a problem with them. The problem is VirtualKeyboard.isSupported() is returning true when a virtual keyboard is not supported, causing a variable updateDisplay to be set to true. Then since the virtual keyboard will not display, its height left at 0, which causes the same code to keep repeating in an infinite loop.
How can I find out whether or not the virtual keyboard is supported?
05-20-2013 05:40 PM
It's on OS 7.1 model 9810 and a few others. VirtualKeyboard.isSupported() returning true was the entire cause of the problem. I have managed to solve the problem simply by creating a boolean variable called KeyboardHeightSet. Hopefully now my program will work on all 6.0+ devices. Thanks for your help
05-20-2013 05:51 PM - edited 05-20-2013 05:53 PM
The virtual keyboard is supported on the 9810, so the setting is correct. Perhaps your check needed to see if in fact it was being displayed?
Glad you have a workaround anyway, and now you can support OS 6.0 devices as well I suspect.
05-20-2013 09:21 PM