View Full Version : Android Os for tablets


dsvick
04-13-2010, 10:23 AM
With all the new tablets being announced one of the big selling points seems to be that the Android based ones will be truly multitasking (at least as much as a single CPU device can be). From everything I've read though the Android OS is stack based, so are they coming out with a new version for tablets? I would think they'd have to since a non-stack based approach wouldn't work very well on a phone.

I'm curious as I'd like to get into building apps for the phones or tablet or both.

Magnesus
04-13-2010, 10:39 AM
Google wants to make it's own tablet with Android so they will probably make Android more suitable for that kind of device very soon.

=X=
04-14-2010, 04:21 PM
There is no need to change the design. The highest stack level is the application stack. All of the other stacks are lower layers that provided services to the application.

In addition every program run's it's own JVM deviating from this design would reduce much of the memory management and application protection built into Android.


Here is a review on a tablet that uses the Android OS (link (http://www.androidcentral.com/archos-7-and-8-are-basic-tablets-and-wont-empty-your-pockets))

Android Runtime

Android includes a set of core libraries that provides most of the functionality available in the core libraries of the Java programming language.

Every Android application runs in its own process, with its own instance of the Dalvik virtual machine. Dalvik has been written so that a device can run multiple VMs efficiently. The Dalvik VM executes files in the Dalvik Executable (.dex) format which is optimized for minimal memory footprint. The VM is register-based, and runs classes compiled by a Java language compiler that have been transformed into the .dex format by the included "dx" tool.

The Dalvik VM relies on the Linux kernel for underlying functionality such as threading and low-level memory management.

dsvick
04-15-2010, 12:56 PM
That makes sense if the processes themselves are not stacked but if they are then a stack of JVMs is pretty much the same as a stack of apps. You would still only be able to run one at time and the only way to get to a previous one would be to pop the current one off. This would not be very conducive to multi-tasking and switching from one app to another.

=X=
04-15-2010, 01:51 PM
Stack is an overloaded word, in my experience they are just referring to stack as a "Architecture Tier" level. Also from reading the quote below they are heavily relying on Linux to multitask, which implements a full preemptive multitasking environment.

The nice thing about the Android design is one app's VM is isolated from the other so instability in one VM will not effect the other.


Linux Kernel

Android relies on Linux version 2.6 for core system services such as security, memory management, process management, network stack, and driver model. The kernel also acts as an abstraction layer between the hardware and the rest of the software stack. (Full link (http://developer.android.com/guide/basics/what-is-android.html))

http://developer.android.com/images/system-architecture.jpg

dsvick
04-16-2010, 09:50 AM
Stack is an overloaded word, in my experience they are just referring to stack as a "Architecture Tier" level. Also from reading the quote below they are heavily relying on Linux to multitask, which implements a full preemptive multitasking environment.

The nice thing about the Android design is one app's VM is isolated from the other so instability in one VM will not effect the other.

I think we're both right, the stack that I was referring to is a real stack ...from the Android dev site
...It's a group of related activities, arranged in a stack. The root activity in the stack is the one that began the task — typically, it's an activity the user selected in the application launcher. The activity at the top of the stack is one that's currently running — the one that is the focus for user actions. When one activity starts another, the new activity is pushed on the stack; it becomes the running activity. The previous activity remains in the stack. When the user presses the BACK key, the current activity is popped from the stack, and the previous one resumes as the running activity.

But this is only referring to grouped activities all used with in the same "app". So you're right in saying that it is multi-tasking by default. It must be that in a cell phone environment because of how the UI is set up, there is no way to start a new app until the previous one is completed.

I've just started playing with it and was trying to see if I'd have to unlearn any thing for tablets that I'd learned for phones - I'm guessing not. :)