ViewInflate.inflate is VERY SLOW

by Nickname » Thu, 12 Jun 2008 06:06:47 GMT

Sponsored Links

As title, ViewInflate.inflate() takes about 500ms-1sec to inflat an
XML layout file defining a LinearLayout objects containing two
LinearLayout objects each with about 10 Views objects.

With a ListView of 20 entries, each of the same layout, it will take
10-20 seconds to finish layout the entire ListView.

Is there any faster way to achieve it? For example, faster inflate API
or some API to "clone" the first inflated entry to obtain remaining 19

Thanks for any feedback.



ViewInflate.inflate is VERY SLOW

by Mark Murphy » Thu, 12 Jun 2008 06:14:14 GMT


When you say 20 entries, do you mean you anticipate 20 lines being 
visible at one time? Or do you mean the list will have 20 total entries, 
of which some subset will be visible at once?

If the latter, you may be able to take advantage of the passed-in View 
convertView parameter to your list adapter's getView() implementation. 
If non-null, this represents a View you already inflated, but whose 
contents need to change to represent the supplied item position. Just 
cast it to the proper View class and update the innards as needed. This 
will cut the inflations down to only as many lines as are visible.

Mark Murphy (a Commons Guy) 
Warescription: All titles, revisions, & ebook formats, just $35/year


Sponsored Links

ViewInflate.inflate is VERY SLOW

by Nickname » Thu, 12 Jun 2008 06:40:57 GMT

 Thanks, Mark.

I do reuse the "convertView parameter" when it is not null.

The parameter is null at the first time when a listview displays, and
it takes long long long time to finish.



ViewInflate.inflate is VERY SLOW

by Romain Guy » Thu, 12 Jun 2008 06:45:02 GMT


XML inflation is slow but on real hardware it is not as slow as you
describe. However, remember you are developing for a cell phone. Even
if inflating your views was fast, having so many views on screen
(you're talking about 20 views per row in a LinearLayout) will impact
layout, drawing, scrolling and memory performance. You should
seriously consider simplifying this XML file and limit the number of
views you need on screen.

Romain Guy


ViewInflate.inflate is VERY SLOW

by Nickname » Thu, 12 Jun 2008 22:43:15 GMT

 Thanks, Romain.

Your suggestion is valid, because only 5 or so of the 20 views will be
on the row at a time and the others will be hidden.

Maybe I should not use ViewInflate.inflate() at all but add those view
that need to be on the row programmatically.



ViewInflate.inflate is VERY SLOW

by Romain Guy » Thu, 12 Jun 2008 23:10:23 GMT

 ou can (and should) use ViewInflate but you could separate your XML
into several pieces. Another solution that I've used successfully for
the Home screen is to write your own layout so as to reduce the number
of Views.

Note that the next SDK will provide several new XML tags to help
reduce the number of views in a layout.

On Wed, Jun 11, 2008 at 4:50 PM, Nickname <[EMAIL PROTECTED]> wrote:

Romain Guy


ViewInflate.inflate is VERY SLOW

by Nickname » Fri, 13 Jun 2008 23:25:04 GMT

 hanks again, Romain.

It is gear to separate one layout into pieces!

Why didn't I think of it?!!


On Jun 12, 7:10 am, "Romain Guy" <[EMAIL PROTECTED]> wrote:


Other Threads

1. OOT: Thank for MOMOD ID Android for UNBANNED ME from here :)

Thank sudah unbanned... kmrn sih memang bnc akui salah menjual tdk
pada waktunya..
dengan ini saya pribadi mohon maap atas kejadian kemaren..

nantikan promosi lainnya dari BnC ya.. :)



"Indonesian Android Community [id-android]" 

2. closed ... WTB - Samsung Spica di Semarang

dear all,
karena ndak sabar pengen mainan robot robotan, akhirnya ybs dah dapet bnib.
jadi thanks yaaa


Bisa ke matahari simpang5 bro.
Tokonya MSC.

all, > ada temen nyari S...
"Indonesian Android Community [id-android]"

3. Search Query Returns 0 rows

4. Please help to resolve CTS building error

5. Spica polos

6. how to add new table for a existing database

7. google finance autosuggestion on query on ticker symbol