A custom control has nothing to do with this kind of issue. Actually,
custom controls are a good way to avoid that issue, and optimize
layouts in general. Around 15 levels deep of layouts is just insanely
complex for a cell phone screen.

On Fri, Apr 24, 2009 at 5:08 AM, jarkman <[email protected]> wrote:
>
> I'm not sure it's realistic to describe this as a simple optimisation
> issue.
>
> We've just gone through an exercise to fix these crashes in one of our
> apps. We've managed it, but only at the expense of uglification of the
> code.
>
> We're working with a custom list on a tab. Looking at the hierarchy
> viewer, we are 12 deep in the tree by the time we get to our ListView.
> We now have three levels under that - a RelativeLayout for our list
> item, various simple views, and one custom control with a child view.
>
> That just fits, and doesn't crash in 1.5. Previously, we laid out the
> list item with a 2-deep tree of linear layouts, which was a lot more
> convenient in our code.
>
> As far as I can see, if we had built any more custom controls or used
> a more complex layout, we'd be quite knackered at this point, which
> makes this restriction seem like a real step backwards.
>
> Richard
>
>
> On Apr 24, 9:23 am, Dianne Hackborn <[email protected]> wrote:
>> We didn't  have time for Cupcake, but we definitely want to have some very
>> well-defined limits in a future release.  There is no nice error because
>> what actually is happening is the app is running out of stack space -- some
>> optimizations and new features in the view hierarchy caused certain
>> functions to use a little more stack, which can result in apps that were
>> skirting the edge of the stack to go over the limit.
>>
>> We apologize, and definitely aren't happy about this; we had some some
>> additional optimization of the code to reduce stack usage at the very last
>> minute but found a little later that it still wasn't enough.
>>
>> Anyway, if this makes cupcake not a good as 1.1 to you, well okay, I guess
>> don't run cupcake or something.
>>
>> (Btw, in practice, an application with a deep hierarchy like this is also
>> going to have noticeable performance issues because of the work required to
>> manage it, so this can be considered a nice opportunity to do a bit of good
>> optimization.)
>>
>>
>>
>> On Fri, Apr 24, 2009 at 12:52 AM, Al Sutton <[email protected]> wrote:
>>
>> > Having read
>>
>> >http://android-developers.blogspot.com/2009/04/future-proofing-your-a...
>> > l I noted this little section;
>>
>> > "Due to changes in the View rendering infrastructure, unreasonably deep
>> > (more than 10 or so) or broad (more than 30 total) View hierarchies in
>> > layouts are now likely to cause crashes. This was always a risk for
>> > excessively complex layouts, but you can think of Android 1.5 as being
>> > better than 1.1 at exposing this problem..."
>>
>> > Will the SDK warn us when we're reaching the limit for crashes?
>>
>> > And more to the point why does it crash and not return some form of
>> > meaningful error to the app? With an error code or thrown exception
>> > developers could create various levels of layout complexity and step down
>> > the layout complexity level until they find one the device will support.
>>
>> > Al.
>>
>> > P.S. No matter what the post says I see this as a regression in
>> > functionality and I definitely do not see it as "Android 1.5 as being
>> > better
>> > than 1.1" in any way.
>>
>> > ---
>>
>> > * Written an Android App? - List it athttp://andappstore.com/*
>>
>> > ======
>> > Funky Android Limited is registered in England & Wales with the
>> > company number  6741909. The registered head office is Kemp House,
>> > 152-160 City Road, London,  EC1V 2NX, UK.
>>
>> > The views expressed in this email are those of the author and not
>> > necessarily those of Funky Android Limited, it's associates, or it's
>> > subsidiaries.
>>
>> --
>> Dianne Hackborn
>> Android framework engineer
>> [email protected]
>>
>> Note: please don't send private questions to me, as I don't have time to
>> provide private support, and so won't reply to such e-mails.  All such
>> questions should be posted on public forums, where I and others can see and
>> answer them.
> >
>



-- 
Romain Guy
Android framework engineer
[email protected]

Note: please don't send private questions to me, as I don't have time
to provide private support.  All such questions should be posted on
public forums, where I and others can see and answer them

--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---

Reply via email to