Hello Are you using the ViewHolder pattern to recycle Views?
On Feb 13, 9:48 am, Olof Hedman <[email protected]> wrote: > I have implemented a couple of different adapters in my application. > > No matter which base class I use, I get very weird behavior in how the > list calls it to create and bind its views. > > I've tested this on 2.3.3, 2.3.6 and Kindle. > > This log is from an implementation of BaseAdapter, I put a debug-print > in "getView". > If convertView is null I inflate the view and print "created view". > For every call to getView I print "binding View" when I set its > values. > The code on the end is an id string for the data I bind to the views. > > Everything display just as it should, but I get lots of unneccessary > binds! > > This is what I get when I set the adapter to the listview: > > D/SLPA ( 4097): created View - android.widget.LinearLayout@405bf190 > D/SLPA ( 4097): binding View - android.widget.LinearLayout@405bf190 > position: 0 - to: A5D7W5U9.02 > D/SLPA ( 4097): binding View - android.widget.LinearLayout@405bf190 > position: 1 - to: ASQK89Q8.58 > D/SLPA ( 4097): binding View - android.widget.LinearLayout@405bf190 > position: 2 - to: ASQK89Q8.37 > D/SLPA ( 4097): binding View - android.widget.LinearLayout@405bf190 > position: 3 - to: AEURWHRA.02 > D/SLPA ( 4097): binding View - android.widget.LinearLayout@405bf190 > position: 4 - to: ASQK89Q8.44 > D/SLPA ( 4097): binding View - android.widget.LinearLayout@405bf190 > position: 5 - to: ASQK89Q8.51 > D/SLPA ( 4097): binding View - android.widget.LinearLayout@405bf190 > position: 6 - to: ASQK89Q8.10 > D/SLPA ( 4097): binding View - android.widget.LinearLayout@405bf190 > position: 7 - to: AWQHVP6A.11 > D/SLPA ( 4097): binding View - android.widget.LinearLayout@405bf190 > position: 0 - to: A5D7W5U9.02 > D/SLPA ( 4097): binding View - android.widget.LinearLayout@405bf190 > position: 1 - to: ASQK89Q8.58 > D/SLPA ( 4097): binding View - android.widget.LinearLayout@405bf190 > position: 2 - to: ASQK89Q8.37 > D/SLPA ( 4097): binding View - android.widget.LinearLayout@405bf190 > position: 3 - to: AEURWHRA.02 > D/SLPA ( 4097): binding View - android.widget.LinearLayout@405bf190 > position: 4 - to: ASQK89Q8.44 > D/SLPA ( 4097): binding View - android.widget.LinearLayout@405bf190 > position: 5 - to: ASQK89Q8.51 > D/SLPA ( 4097): binding View - android.widget.LinearLayout@405bf190 > position: 6 - to: ASQK89Q8.10 > D/SLPA ( 4097): binding View - android.widget.LinearLayout@405bf190 > position: 7 - to: AWQHVP6A.11 > D/SLPA ( 4097): binding View - android.widget.LinearLayout@405bf190 > position: 0 - to: A5D7W5U9.02 > D/SLPA ( 4097): created View - android.widget.LinearLayout@405ab368 > D/SLPA ( 4097): binding View - android.widget.LinearLayout@405ab368 > position: 1 - to: ASQK89Q8.58 > D/SLPA ( 4097): created View - android.widget.LinearLayout@405a85f8 > D/SLPA ( 4097): binding View - android.widget.LinearLayout@405a85f8 > position: 2 - to: ASQK89Q8.37 > D/SLPA ( 4097): created View - android.widget.LinearLayout@40548088 > D/SLPA ( 4097): binding View - android.widget.LinearLayout@40548088 > position: 3 - to: AEURWHRA.02 > D/SLPA ( 4097): created View - android.widget.LinearLayout@405743e0 > D/SLPA ( 4097): binding View - android.widget.LinearLayout@405743e0 > position: 4 - to: ASQK89Q8.44 > D/SLPA ( 4097): created View - android.widget.LinearLayout@405877c0 > D/SLPA ( 4097): binding View - android.widget.LinearLayout@405877c0 > position: 5 - to: ASQK89Q8.51 > > Its not weird that users complain of sluggish UI if these things are > going on! > > When the device goes into sleep, I get this: > > D/SLPA ( 4097): created View - android.widget.LinearLayout@40555a00 > D/SLPA ( 4097): binding View - android.widget.LinearLayout@40555a00 > position: 0 - to: A5D7W5U9.02 > D/SLPA ( 4097): binding View - android.widget.LinearLayout@40555a00 > position: 1 - to: ASQK89Q8.58 > D/SLPA ( 4097): binding View - android.widget.LinearLayout@40555a00 > position: 2 - to: ASQK89Q8.37 > D/SLPA ( 4097): binding View - android.widget.LinearLayout@40555a00 > position: 3 - to: AEURWHRA.02 > D/SLPA ( 4097): binding View - android.widget.LinearLayout@40555a00 > position: 4 - to: ASQK89Q8.44 > D/SLPA ( 4097): binding View - android.widget.LinearLayout@40555a00 > position: 5 - to: ASQK89Q8.51 > D/SLPA ( 4097): binding View - android.widget.LinearLayout@40555a00 > position: 6 - to: ASQK89Q8.10 > D/SLPA ( 4097): binding View - android.widget.LinearLayout@40555a00 > position: 0 - to: A5D7W5U9.02 > D/SLPA ( 4097): binding View - android.widget.LinearLayout@40555a00 > position: 1 - to: ASQK89Q8.58 > D/SLPA ( 4097): binding View - android.widget.LinearLayout@40555a00 > position: 2 - to: ASQK89Q8.37 > D/SLPA ( 4097): binding View - android.widget.LinearLayout@40555a00 > position: 3 - to: AEURWHRA.02 > D/SLPA ( 4097): binding View - android.widget.LinearLayout@40555a00 > position: 4 - to: ASQK89Q8.44 > D/SLPA ( 4097): binding View - android.widget.LinearLayout@40555a00 > position: 5 - to: ASQK89Q8.51 > D/SLPA ( 4097): binding View - android.widget.LinearLayout@40555a00 > position: 6 - to: ASQK89Q8.10 > D/SLPA ( 4097): binding View - android.widget.LinearLayout@405877c0 > position: 0 - to: A5D7W5U9.02 > D/SLPA ( 4097): binding View - android.widget.LinearLayout@405743e0 > position: 1 - to: ASQK89Q8.58 > D/SLPA ( 4097): binding View - android.widget.LinearLayout@40548088 > position: 2 - to: ASQK89Q8.37 > D/SLPA ( 4097): binding View - android.widget.LinearLayout@405a85f8 > position: 3 - to: AEURWHRA.02 > D/SLPA ( 4097): binding View - android.widget.LinearLayout@405ab368 > position: 4 - to: ASQK89Q8.44 > > Why on earth would it need to do this when it turns off the screen?! > > Is there anyone who can shed some light on this, is it just something > I have to live with, or have I made some stupid mistake? > I have a hard time imagining anything I could have done wrong though, > since the code is really minimal. -- You received this message because you are subscribed to the Google Groups "Android Developers" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/android-developers?hl=en

