ViewInflate.inflate is VERY SLOW

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


Sponsored Links
 Hi,

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
entries?

Thanks for any feedback.

Nick


--~--~---------~--~----~------------~-------~--~----~



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)
 http://commonsware.com 
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.

Nick.






--~--~---------~--~----~------------~-------~--~----~



ViewInflate.inflate is VERY SLOW

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


 Hi,

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
www.curious-creature.org

--~--~---------~--~----~------------~-------~--~----~



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.

Nick.








--~--~---------~--~----~------------~-------~--~----~



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
www.curious-creature.org

--~--~---------~--~----~------------~-------~--~----~



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?!!

Nick

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

--~--~---------~--~----~------------~-------~--~----~



Other Threads

1. Building kernel

Hi All,

I recently synced the whole tree, and looking at ~prebuilt/android-arm/
kernel folder... There is a file named PREBUILT that has the
instruction to build the kernel...

My question is that from what folder the following command should be
issued to git ...

git clone git://android.kernel.org/kernel/common.git kernel


To me it must be from the platform folder above ( i.e. from android-
arm). Am I right?

Also once again, the tree structure documented in one of the site is
still very outdated...

thanks
-pro
--~--~---------~--~----~------------~-------~--~----~
unsubscribe: android-kernel+unsubscr...@googlegroups.com
website: 

2. Starting Service at the time application starting automatically

Hai,

          I have an application ,in which i have to start a service
( in same process) automatically means without user intervention and
that service should run till it is stopped.

          How can i implement service so that i t can be started
automatically?

        Any help would be  appreciated highly.

Thanks in advance.
--~--~---------~--~----~------------~-------~--~----~

3. Ada yg bs bantu root magic ga?utk daerah bandung!ada master android bdg ga?

4. How to use and create a ColorStateList object???

5. Want to use 2 WVGA screens only when viewing the html page using Web Browser

6. Android Charts

7. Default application source code