Generalizing  is bad, which is why i didnt agree with the "Singletons are 
bad, m'kay" mentality here :)

But yeah, i agree with all your points. In some cases lazy loading makes 
sense, in some it doesn't.
Though i'm not sure how concurrency is an issue, Pill Pugh's implementation 
is probably the easiest implementation there is, not sure why some people 
here recommended the error-prone "instance == null" methods. 

On Sunday, March 17, 2013 9:08:34 PM UTC+2, Lew wrote:
>
> > Lew wrote:
> >> The biggest problem I have with singletons is that everyone for some 
> god-awful reason
> >> insists on lazily instantiating them. Why?
> >> 
> >> Lazy instantiation is lazy. What's wrong with non-lazy instantiation? 
> Then you can use 
> >> a 'final' reference to the singleton instance that exists without 
> effort or overhead.
>
> -- 
> Lew
> Piren wrote:
>
>> If your application has a singleton that takes 200MB of memory and takes 
>> a minute to load (dont ask why :-) ), but is only needed if you use a 
>> specific part of the app, why load it on the app load?
>>
>
> I couldn't agree more. 
>
> But that is far more likely to be a local variable to that specific part 
> of the app than a singleton. 
>
> Unless, of course, you are absolutely certain to hit that "specific part 
> of the app", 
> and app-load is a time when people expect delay, and the time they hit 
> that 
> "specific part of the app" is not such a time, in which case you are far 
> better off taking the 
> performance hit at app load and not during the "specific part of the app".
>
> Then I disagree.
>
> However, if it truly is a singleton, or whatever, then yeah, sure, lazy 
> load, if the 
> circumstances are right, like not in that counter-scenario I just 
> outlined, but then 
> you have extra work to do it right, at least of concurrency is involved.
>
> But that isn't a general policy of insisting on using a singleton and 
> insisting on 
> using lazy load, which is that against which I rail against.
>
> Never generalize.
>
> -- 
> Lew
>
>

-- 
-- 
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers+unsubscr...@googlegroups.com
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 unsubscribe from this group and stop receiving emails from it, send an email 
to android-developers+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to