06-14-2007, 12:35 PM
Join Date: Jun 2007
Post Thanks: 0
Thanked 0 Times in 0 Posts
| | PushScreen Issue
Please Login to Remove!
I am encountering some weird behaviour of the PushScreen method in the UI class.First and foremost, what could be a simple reason for PushScreen to not push the user screen on to the UI stack and also not throw an exception (saying it was not able to Push Screen). I am having a hard time debugging this issue as the pushscreen is being called and it doesnot throw any exception and passes succesfully without pushing my screen on the stack
One point to be noted here is that , the situation arises only after i get a Time out exception/ IOException in the my Connection class which i will explain it further.
I am aware of the fact that Blackberry uses a single thread to do its UI processing and it should not be blocked and I am taking care of it.
. Currently our architecture is such a way that we constantly need to be connected to the server and there is a two way communication going on between the server and the BBclient.
I have a seperate thread for receiving data from the server and the Send thread is inner class of the Recieve Thread. In my exception handling of the receive thread whenever i get a IOException
1)Connection Refused ( i do the needful)
2)exceeded the limit of number of bytes allowed per connection ( i do the needful)
3)Any other exception (connection time out /I get an empty exception message too ( I am not sure what this means , do you know what it could be ) - In this case , i set my boolean for resetting the recieve thread , so what i do is -
A) I have a stop method inside the Recieve thread which closes and notifies , StreamConnection obj ,DataInputStream obj etc (.close and .notify)
B) start the thread.
Can some one tell me whats going on ??? I would really appreciate if you could tell me what is the best way to debug such an issue is, any pointers would be helpful. Any help is appreciated
It starts working fine if i quit the application and come back. I have System.exit() call in my Close application which clears up all the threads and hence works fine. But again after sometime if i get any of the IO exception it stops pushing on to the screen.
I have also noticed this sometimes, even after getting the Exception , after some time (maybe a minute or so) if i try to run the same scenario it works fine, but its just too flaky currently.