And if you have performance issues when instantiating certain Views,
please let us know so we can fix it.

On Tue, Jun 26, 2012 at 3:26 PM, Streets Of Boston
<[email protected]> wrote:
> I would still advise against it, because you don't have control of the code
> after you call the constructor of the View.
>
> Creating a View should never be that expensive (i.e. time consuming) that it
> could not be done on the UI thread.
> If the creation of the View needs other pieces of data that are expensive to
> compute, just compute those pieces of data in the background thread and
> create the View in the UI thread after that, giving it the earlier computed
> data.
>
>
> On Tuesday, June 26, 2012 6:04:44 PM UTC-4, Tamás Kovács wrote:
>>
>> OK I made additional research and source code exploring:
>>
>> only *ViewGroup* and its descendants check the Thread, the *View*
>> class does not. It does not even STORE the thread which created it.
>>
>> Based on this, it should be safe to create Views (but never
>> Viewgroups) in different threads. It would be nice if Dianne or Romain
>> could confirm this.
>>
>> On Jun 26, 10:53 pm, Justin Anderson <[email protected]> wrote:
>> > I'm not sure, but I doubt it...  Have you tried it? Did it work?
>> >
>> > Thanks,
>> > Justin Anderson
>> > MagouyaWare Developerhttp://sites.google.com/site/magouyaware
>> >
>> > On Tue, Jun 26, 2012 at 2:27 PM, Tamás Kovács
>> > <[email protected]>wrote:
>> >
>> >
>> >
>> >
>> >
>> >
>> >
>> > > I know that the UI elements (View hierarchy) may only be manipulated
>> > > from the UI thread. For a background operation, the AsyncTask can be
>> > > used, which offers event handers to reach the UI thread.
>> >
>> > > To be brief, is it allowed to instantiate a View (tied to
>> > > getApplicationContext()) in a non-UI thread? This custom View
>> > > descendant -- once instantiated -- is added to the view hierarchy from
>> > > the UI thread. So only the constructor call is done inside an
>> > > Asynctask.doInBackground; its attaching (addView(...))to the
>> > > Activity's root layout hierarchy is still done in the UI thread.
>> >
>> > > (I pre-instantiate the View in an asynctask because when it's needed
>> > > in an Activity, it must be instantly displayed.)
>> >
>> > > --
>> > > 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
>
> --
> 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



-- 
Romain Guy
Android framework engineer
[email protected]

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