• After 15+ years, we've made a big change: Android Forums is now Early Bird Club. Learn more here.

So... IS android linux?

In addition to its primary purpose, the Dalvik also provides higher security and future proofing.

Most, the vast majority, of your apps are written in Java.

Java didn't care about the number of cores. When we went multicore, no new app optimization or versions were required. Properly written apps that could parallelize across cores simply did because the underlying kernel did (see that SMP in the uname -a printout, that's what did it).

Java doesn't care about 32-bit or 64-bit.

If they decide someday to pull an Apple and go 64-bit, then once the core is done, there won't be waiting on new apps for the vast majority of cases.

The other Linux phones, the Nokia and the Open Moko FreeRunner, both failed.

Open Moko was naive to market and manufacturing politics and basically died in childhood. When Android came out, I was among the vocal opponents because of Open Moko. But in hindsight, it couldn't succeed.

Here's what happened to the Nokia -

http://www.theregister.co.uk/2012/10/11/nokia_meego_inside_story/

And here's an interesting perspective of apps, dated but interesting -

http://netrunner-mag.com/?p=2603
 
Upvote 0
Think Meego's problem was being too childish. I mean if you ever saw a screencap of it, it looks more LeapPad than Windows 8 does.
That didn't matter, Meego could have evolved into almost any style UI. Its real problems were Elop and billions of M$ cash. It was TOO good, it scared the hell out of M$, so they did whatever it took to kill it in its infancy.

Excellent thread...maybe should be a sticky?
 
Upvote 0
meego-screenshots.jpg
Think Meego's problem was being too childish. I mean if you ever saw a screencap of it, it looks more LeapPad than Windows 8 does.

LOL !
 
  • Like
Reactions: EarlyMon
Upvote 0
That didn't matter, Meego could have evolved into almost any style UI. Its real problems were Elop and billions of M$ cash. It was TOO good, it scared the hell out of M$, so they did whatever it took to kill it in its infancy.

Excellent thread...maybe should be a sticky?

Yeah sticky wouldn't be a bad idea, then when this question comes up in the future, it will be right there, and also available to people like myself who were a bit turned around lol.
 
  • Like
Reactions: EarlyMon
Upvote 0
Cool. So I got a question, are c++ apps run through dalvik as well or is that native? My assumption is its native but I want to confirm it.

Not so fast. :)

Warning - detailed tech follows. If bored, skip to the TL/DR at the end.

http://developer.android.com/tools/sdk/ndk/index.html

Once upon a time, that page used to say that native apps ran inside the Dalvik.

If you Google "Android NDK" really quickly you can see a cached version that says that.

The truth is more complicated -

http://stackoverflow.com/questions/11992836/where-exactly-does-ndk-native-code-execute

For non-programmers, I'll save you the trouble on both links -

Everything is tied to the Dalvik Virtual Machine.

There are no *great* performance benefits to c++ native code unless you have a special case of something being computationally intense, according to Google.

If you want to see for yourself, check out "CF-Bench"

https://play.google.com/store/apps/details?id=eu.chainfire.cfbench

But be sure to read the app description, this is not your typical benchmark.

While not intended to rank phones, really, this is the only benchmark that seems to match my experience comparing phones when I consider just the Java predictions, matching the green bars in the second screen shot.

1381601766074.jpg
1381601790285.jpg

Notice that there aren't Java tests for everything that there's a native test for - some things just are not done by an app, they're done by the underlying software services - and those are ALL native code.
Warning - GPU for gaming, screen management cores (surprise, it may not be your GPU), NEON or equivalent for media, network throughput and whole big bunch of other things that matter are not tested.

~~~~~~~~~~~~~


TL/DR -

Native apps are good for the rare cases of number crunching.

The real benefit is if you already have a lot of c++ or c code that you trust and don't want to re-write in Java.

PS - this thread now in the Things To Know About Android sticky, thanks to El Presidente. :)
 
  • Like
Reactions: KJohns
Upvote 0
Should probably clarify.

Some articles call apps that come with your phone "native" - we're talking about something else - the programming language.

Neither Firefox nor Unity games come with anyone's phone, so far as I know, but both are native apps in the programming sense.

By the way -

http://unity3d.com/unity/multiplatform/mobile

And -

http://forum.unity3d.com/threads/84606-Does-Unity-use-Android-NDK

Given that unity started out with a large, trusted code base from iOS, that second bit sounds more like marketing than technology to me.
 
  • Like
Reactions: KJohns
Upvote 0

BEST TECH IN 2023

We've been tracking upcoming products and ranking the best tech since 2007. Thanks for trusting our opinion: we get rewarded through affiliate links that earn us a commission and we invite you to learn more about us.

Smartphones