Thanks for posting the psuedo code.
>From the symptoms, the code you posted and the assumption that this
section of code is multi-threaded, it looks like a race condition.

public StaticClass {
 private static Manager manager = new Manager();
 public static Manager getManager() { return manager; }
}

If 2 Threads simultaneously access the above its possible that the 2nd
will receive a partially configured instance of Manager.
It's one of the reasons I avoid statics like the plague.

Try changing it to:

public StaticClass {
 private static Manager manager = new Manager();
 public static synchronized Manager getManager() { return manager; }
}


On Aug 28, 7:34 am, TreKing <treking...@gmail.com> wrote:
> On Fri, Aug 27, 2010 at 3:53 PM, Tom Gibara <tomgib...@gmail.com> wrote:
> > Have the keys changed between releases of the application? Is the selected
> > key persisted in any way?
>
> Nope, they're hard-coded and were introduced in the last update.
> So where I have "Key" is a string literal I use to ID the derived instance.
>
> So it's like:
>
> refs.add("Option1", new Derived1());
> refs.add("Option1", new Derived2());
>
> and so on.
>
> Then in a drop down, the user can select "Option1" or "Option2", each option
> being obtained from the hard-coded list.
> So yeah, no saving or restoring of the keys. All in the code.
>
> -------------------------------------------------------------------------------------------------
> TreKing <http://sites.google.com/site/rezmobileapps/treking> - Chicago
> transit tracking app for Android-powered devices

-- 
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+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

Reply via email to