I am starting to develop an Android App and have noticed the following
behaviour in my test code (not yet designed the real app):
A thread that loops around doing Bluetooth IO accesses an instance
variable that is declared in the enclosing class. That instance
variable gets set to null by the GUI thread in the onBackPressed()
method which also closes the Bluetooth socket which causes an
exception in the IO thread (which is what I want).
The odd thing is that if I set the instance variable to null before I
close the socket, the IO thread sees the null value, but if I close
the socket first and then set the variable to null, the IO thread
doesn't see the null value.
The instance variable is being used in a loop in the IO thread and it
appears as if that variable is being cached while within the loop. So
any changes to that variable by another thread are not visible. Is
that possible? If so, is there a workaround to guarantee that the VM
will read the value of the instance variable?
Cheers,
Mark
--
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers+unsubscribe@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en
No comments:
Post a Comment