I could understand if you were saying that you can't provide
multi-tasking experience on a single-tasking OS, such as Windows 3.1,
which required cooperative multitasking.
But I find it hard to understand what are the practical and technical
reasons behind your resistance to provide a single-tasking experience
on a multi-tasking OS.

Cheers

On Thu, Mar 26, 2009 at 9:50 PM, Stoyan Damov <[email protected]> wrote:
> On Thu, Mar 26, 2009 at 8:26 PM, Dianne Hackborn <[email protected]> wrote:
>> On Thu, Mar 26, 2009 at 10:19 AM, Stoyan Damov <[email protected]>
>> wrote:
>>>
>>> So, ok, I *admit* other apps can't cause DIRECTLY a GC in my app, but
>>> it doesn't matter to me because other apps can cause the system to
>>> lack memory and perform GC and it would ask my app's process to do GC,
>>> which is how I understand JBQ's explanation of "remote GC".
>>>
>>> So back to my point. I don't care what causes GC in *my* process. If
>>> it's not me I DON'T want my process to be bothered at all.
>>
>> There is no way at all for other processes to cause your process to GC.
>> What other processes -can- do is run some work -- any kind of work -- on a
>> thread running at the same or higher priority as yours, causing you to have
>> to share the CPU with them.  GCs are irrelevant to the problem here.  (But
>> they -are- relevant to writing your own code so that you don't cause GCs to
>> happen in your own process.)
>
> Dianne, I haven't taken any time to dig in Android, so I don't know
> what and how works.
> All I know is that when *ANOTHER* process kicks GC, it affects MY
> process, and my game stutters at this EXACT moment.
> My game, like I said many times, *only* allocates memory on startup,
> and then uses object pools.
> I know that, when for example, the myFaves service is not trying to
> send the damn MMS my games works PERFECTLY smoothly.
> When it stutters, I see that GC has kicked in in process with PID "X",
> and that X is not my game's process' PID.
>
> I hope you get it know.
>
>>
>> Currently our approach for scheduling is that apps doing background work on
>> a thread should lower that thread's priority -- the standard applications on
>> Android do this.  This has holes however, and allows people to mistakenly do
>> background work at a higher priority, so we should more strongly enforce the
>> scheduling of processes that are not running the foreground UI.
>>
>
> No, what you should do, and I mean Google behind Android, not you in
> particular, is create an user experience SIMILAR to that on the
> iPhone.
> You can have the best of BOTH worlds and provide background processing
> (i.e. as it works right now) AND on top of that implement "single
> tasking" *experience*.
> The implementation details are IRRELEVANT to all of us, users, and developers.
> If you don't do it, I can bet my ass that Android, as a mobile device
> OS, and especially as a smartphone OS will not last as long as people
> "predicted".
>
> Cheers
>

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