This comment has received too many negative votesshow
The video is of poooooooooooooooooooooor quality. And the design of Google G1 looks like a US-$ 10,- device (even those look sometimes better)...traaaaaaaaaaaaaaaaaaaaaaaash!
I will buy a Google device in 10 years when they have developed it further. Because Android has certainly some advantages over the iphone.
@mlanovoy- Though I do agree that Java is superior to C++ in some ways, you are just proving to them why they should develop in C++. When dealing with limited memory and processor power of a cell phone, you want speed and low level languages such as C / C++ can achieve such a goal
@RedClownKnight C++ as language is indeed crap. Altho, it's only really viable (a long with pure old C) language to develope on a system low level; and performance critical application.
are you joking? C++ is a compiled language, Java is an interpreted one. By its nature, C++ exceeds Java in performance many times. Why do you think system programming is done in C++, never in Java? And comparing languages like you do is meaningless, because every language has its own place.
@zenhemmo Well, you need to get some clue regarding "compiled" "interpreted" next time before you make any judgements.
Java is NOT interpreted language. Java programs are compiled into intermediate form - bytecode - which is then compiled (!) into machine codes, machine codes being executed just like for any unmanaged program - by CPU and NOT by interpreter as you seem to think in your delusion.
you are correct about Java code being bytecode, I meant to say that Python is a interpreted one (as you mentioned it on your list). The speed difference can be clearly seen in algorithms - C/C++ compilers generate way more efficient code than Java ever does. Not to mention that C++ allows low level access and direct memory access (Java has a garbage collector).
@zenhemmo There is different measures of efficiency. Very few situations where C++ code will really be "way more efficient". Java programs for example are more efficient than C++ because they consume much less storage (I'm speaking about their size). For such devices as phones with limited size of ROM it may be more critical than insignificant 10% difference in speed of computation (0.09 instead of 0.1 seconds for example for some rarely called but heavy function).
@zenhemmo As for perfomance Java in fact MAY be slower but not more then 200-300%. It may be noticable for very few tasks. Usually it's CPU heavy computations such as math/cryptography/games for majority of other apps the difference is insignificant.
In fact on certain tasks Java may even outperform C++.
@zenhemmo As of system programing - I personally KNOW unlike you why it's done in C (and not C++ as you think, btw) - it's NOT because of performance its because C is very low level language where you can directly work with system heaps/stacks, access IO ports ect, which is impossible (almost) for managed environments.
And, btw, if you think that system programming may not be done in managed, go check Singularity.
@zenhemmo Anyways, I was comparing LANGUAGES not execution environment and not the compiled code. As *language* C++ is fugly. Even new C++0x standard for which is still in development is too an ugly language. And by language I mean language syntaxis.
I was asking myself that question...!!!! how do I shut down apps so my system won't slow down... and i couldn't find the answer to the question in any of the vids, until now...
i was too used to microsoft.... now that i don't have to worry about that with my g1.. fucke yea!
lol, I think he meant the hardware it'll run on. A phone with these capabilities may cost $400+. There are rumors that the first ones will be available early 2009.
when the user's looking at the maps application and 'presses' back, why isn't there any state saved for the maps application? where does the maps application 'go'? what if the user had changed something that they would like to see again next time they launch maps? is this a different scenario and so the app needs to save its state in some other way?
because when you travel back in time you are able to change the future. therefore you need to create a new state when you click on a different adress (or even the same). only the opportunity to do something different makes it neccessary to kill the maps state. am i clear? sorry for my english, i am german :-)
Why does the activity manager in the system process have the mail icon at the start, when there's no mail process? Is it because the mail application has a service which has been killed - and will presumably be launched again when it is time to check mail? If that's the case, why doesn't it have any state saved in it? ...but then there's nothing in the 'mail process' when it's created (should have something to represent a server along side the activity, no?).
..no, I'm wrong. The mail 'activity' that's in the activity manager part of the system process is the 'mail list' activity, and it's created *before* the mail process itself. If it was from some previous instance of the mail process it would have some saved state on it, but it doesn't....weird.
Either I'm very confused, or it's a 'typo' on the video (or both).
I know, these guys know lot about me and their information hunger is getting bigger and bigger. BUT I LOVE GOOGLE!!!11 The applications they are developing are very good documented, so everyone can learn their products fast => google gets more popular...
I think i got how it works... now i have a question - what if that saved state will contain some data, wich leads to an error in application?
Then user will navigate to such an application again, even if process is restarted, and... bang! we got same error again and again. User will never be able to use that app, will he?
From this admittedly brief explanation, Mike explained how Back works but not Forward.
You can probably do this by saving the last user interaction (the one that launches the next activity) with the rest of the state information, then restoring it when you go back to the application. Is this built in?
You're thinking of this as being like a web browser, but that's a confusing way of thinking about this.
What is being discussed is what happens in the background when one Android application loses focus and another gains it.
It's basically a really long way of saying "when an Android application loses focus, its state gets saved, and when an Android application regains focus, its state gets restored."
There's a few other details in there, but that's the main message in this video.
The whole point of having Back is so that I and the other millions of users do indeed think of this as being like a web browser. It's so the users can pick up on the interface without thinking about how it's implemented.
You don't import a user interface metaphor like Back and then make it leak by breaking Forward. This is asking for confusion.
Is there a big reason not to have a forward stack to go with the back stack?
This isn't something that users will ever see. This is a video for developers. It is not possible for there to be a "forward stack," and when we say "back," we are not talking about the same type of "back" that you see in web browsers.
At 2:20 Mike explains activity states are stored "if something bad happens" which is either freeing up memory when there isn't enough of it or when application crashes.
I guess that might happen with Home application as well, since it takes up memory as well and nobody's perfect. ;-)
Sounds like the Home application is a special case.
There is probably a limit to how much memory it will ever need, and since every other application is considered "less important" than the Home application, it should never need to be killed.
i explain to you using the example of PC-OS, like Windows. You always have a way to dump the state of memory, and so of your machine, for management and fixes, this means you ALWAYS have an image of ALL processes saved into the memory, for a "work saving" scope.
4. Then postthis on 4 different videos. If you do this your crush will kiss you on the nearest friday! But if you read this and dont post it on 4 different videos then you wil have very bad luck
Hmmm...I know this is just an example, but it seems like it would be better to have MORE MEMORY than to simply start killing processes. For instance. If I'm doodling around in the maps application as shown, it would be nice to have my mail app periodically check the server for new messages.
There is a component called Service, which is described in building blocks. It basically do what you want, run in background and doesn't killed except if the phone is on extremely low memory.
This has been flagged as spam show
Even new C++0x standard for which is still in development is too an ugly language.
1extenderpro 3 weeks ago
I love this video, have shown it to many friends and enemies :)
apnudi 1 month ago
This has been flagged as spam show
Hey, check out my app! It sets your smartphone into the silent mode automatically during your class or work schedule.
It's called Shut it up!
For android users.
Please, don't mark it as a spam! I'm pretty sure this app is very useful for a lot of people.
Who has never had problems forgetting to set the silent mode or forgetting to put the cellphone on the normal mode back?
Thanks for the support.
VDUniversitario 2 months ago
Fascinating. Thank you!
L00kng 2 months ago in playlist Phone
4:19 OMG he's a ghost!
kroggwaff 3 months ago
@kroggwaff lol
apnudi 1 month ago
This has been flagged as spam show
Thumbs up if you watch this in 2011
Thumbs down if you watch in 2007,2008.2009 or 2010
abecedino99 6 months ago
This has been flagged as spam show
Need 5 star ratings and positive comments on your app? Significantly increase your downloads using starmyapp(dot)com.
zakariaaulin 9 months ago
But I feel extremely rapidly after you run the program task killer
MrOooMooo 9 months ago
This has been flagged as spam show
how to hack wifi networks with an android? well iwifihack (dot) net showed me how!!!
JewelBerne 9 months ago
What's with the low resolution?
aelzin 10 months ago
Thank you! This encouraging me to get my hands dirty with android. This is brilliant programming ideas that you guys have done!
janjiss 10 months ago
This has been flagged as spam show
We hit it off so well after another visit busizz4me.info
yamunaperara 11 months ago
This is quite a small masterpiece superb and impressive programing from google on this
fireicer 1 year ago
thanks for the video. really helps explain the way the tasks are managed.
NaterBoxs 1 year ago 2
No matter what Verizon says, you dont need a task killer. Verizon pushes something that is unnecessary.
NaterBoxs 1 year ago 4
Like this presentation easy to follow and understand, good job
mcsnaperville 1 year ago
I was doing it all wrong with my new Droid X. No more task killers for me!
DrnkSqrrlProductions 1 year ago
I love the animated gif flame rows on this vid.
OhioCity 1 year ago
you are an android
androidology
you are series of androids and new adroids
new version of androids
nashadaily10 1 year ago
Great Explaination to level set how things work behind the scenes.
Greenway9778 1 year ago
awesome tutorial !!
achana999 1 year ago
Great video to demonstrate that you don't really need a Task Killer in most cases.
MixPix 1 year ago 9
This comment has received too many negative votes show
The video is of poooooooooooooooooooooor quality. And the design of Google G1 looks like a US-$ 10,- device (even those look sometimes better)...traaaaaaaaaaaaaaaaaaaaaaaash!
I will buy a Google device in 10 years when they have developed it further. Because Android has certainly some advantages over the iphone.
welpen2006 1 year ago
why save the home state, if you are never going to kill and resurrect it?
crdowney1 2 years ago
You save the state so if there is an error or a crash, your settings and savings are okay
mrbigberd 2 years ago 3
@mrbigberd thanks for the answer.
crdowney1 1 year ago
Loving it!
Born2live88 2 years ago 2
Excellent! Plain English explanation of Android, this rocks!
zinkkrysty 2 years ago 20
@mlanovoy- Though I do agree that Java is superior to C++ in some ways, you are just proving to them why they should develop in C++. When dealing with limited memory and processor power of a cell phone, you want speed and low level languages such as C / C++ can achieve such a goal
xIamRightx 2 years ago
C++ crap?
lol
the wannabe programmers I presume.
RedClownKnight 2 years ago
@RedClownKnight C++ as language is indeed crap. Altho, it's only really viable (a long with pure old C) language to develope on a system low level; and performance critical application.
mlanovoy 2 years ago
This comment has received too many negative votes show
yea Android is great, linux core, blah blah blah
But Give me C/C++ or give me Death!!
RedClownKnight 2 years ago
NDK for android? :)
roxer2b 2 years ago
Why do you need such crap like C++ when you have awesome SDK and much better language.
Good luck doing something like this guy showed on unmanaged platforms/native languages.
mlanovoy 2 years ago
Well, if C++ is crap then I don't know what Java is....
Tho I absolutely love Android, I hope they make it possible to compile and run native C/C++ binaries (at the expense of portability, of course).
zenhemmo 2 years ago
@zenhemmo Java is by far better than C++ as language. Altho, Java is inferior to such languages as C#, Scala, Nemerle, F#, Python, Ruby ect
mlanovoy 2 years ago
mlanovoy,
are you joking? C++ is a compiled language, Java is an interpreted one. By its nature, C++ exceeds Java in performance many times. Why do you think system programming is done in C++, never in Java? And comparing languages like you do is meaningless, because every language has its own place.
zenhemmo 2 years ago 2
@zenhemmo Well, you need to get some clue regarding "compiled" "interpreted" next time before you make any judgements.
Java is NOT interpreted language. Java programs are compiled into intermediate form - bytecode - which is then compiled (!) into machine codes, machine codes being executed just like for any unmanaged program - by CPU and NOT by interpreter as you seem to think in your delusion.
mlanovoy 2 years ago
mlanovoy,
you are correct about Java code being bytecode, I meant to say that Python is a interpreted one (as you mentioned it on your list). The speed difference can be clearly seen in algorithms - C/C++ compilers generate way more efficient code than Java ever does. Not to mention that C++ allows low level access and direct memory access (Java has a garbage collector).
zenhemmo 2 years ago
@zenhemmo There is different measures of efficiency. Very few situations where C++ code will really be "way more efficient". Java programs for example are more efficient than C++ because they consume much less storage (I'm speaking about their size). For such devices as phones with limited size of ROM it may be more critical than insignificant 10% difference in speed of computation (0.09 instead of 0.1 seconds for example for some rarely called but heavy function).
mlanovoy 2 years ago
@zenhemmo As for perfomance Java in fact MAY be slower but not more then 200-300%. It may be noticable for very few tasks. Usually it's CPU heavy computations such as math/cryptography/games for majority of other apps the difference is insignificant.
In fact on certain tasks Java may even outperform C++.
mlanovoy 2 years ago
@zenhemmo As of system programing - I personally KNOW unlike you why it's done in C (and not C++ as you think, btw) - it's NOT because of performance its because C is very low level language where you can directly work with system heaps/stacks, access IO ports ect, which is impossible (almost) for managed environments.
And, btw, if you think that system programming may not be done in managed, go check Singularity.
mlanovoy 2 years ago
@zenhemmo Anyways, I was comparing LANGUAGES not execution environment and not the compiled code. As *language* C++ is fugly. Even new C++0x standard for which is still in development is too an ugly language. And by language I mean language syntaxis.
mlanovoy 2 years ago
Good trolling, but there has actually been C++ implementations since 1.5. Not used to often since it destroys the great point of using java.
PhatPazzo 2 years ago
"seamless" ... lol ... is he an X-Microsoft employee?
megoogler 2 years ago
Seamless is bad now?
mortenlu 2 years ago
thank you very much for this vid!!!!
I was asking myself that question...!!!! how do I shut down apps so my system won't slow down... and i couldn't find the answer to the question in any of the vids, until now...
i was too used to microsoft.... now that i don't have to worry about that with my g1.. fucke yea!
Artie562 2 years ago
where can i download the slides shown in the background?
apetpg 2 years ago 3
we need flash player,,flash player flash flash flash flash flashhhhhhhh playerrrrrrrrrrrr mannnnnnnnn
alqods1 3 years ago 3
This comment has received too many negative votes show
i think i prefer the iphone. No offence but is better, this is like a copy of it
danielpineros 3 years ago
1. Android is a platform, not a cellphone.
2. Copy? do a research first and then talk about the platform man.
No offence :).
wfox 3 years ago 18
don't try to be nice, just tell him hes stupid hehehe!
just jocking. He don't now any thing about android.
I was introduced to Android only few hours ago and I'm in love. I'm at 76% downloading SDK of android. hehe :D
frostmaster77 3 years ago
ok i do love this product right now, but does anyone know how much one of these will cost?
pbpenguin5 3 years ago
its open source -.-' ^^
Mastakilla91 3 years ago
lol, I think he meant the hardware it'll run on. A phone with these capabilities may cost $400+. There are rumors that the first ones will be available early 2009.
morenoh149 3 years ago
ok thanks
pbpenguin5 3 years ago
I sure hope it dosn't cost that much. other wise it can take a backseat with the iphone as far as i'm conserned.
wiicow 3 years ago
I'll update this comment for people still viewing this.. Oct 22nd. Tmobile G1 for $180.
ericunderscores 3 years ago
when the user's looking at the maps application and 'presses' back, why isn't there any state saved for the maps application? where does the maps application 'go'? what if the user had changed something that they would like to see again next time they launch maps? is this a different scenario and so the app needs to save its state in some other way?
davidmaxwaterman 4 years ago
because when you travel back in time you are able to change the future. therefore you need to create a new state when you click on a different adress (or even the same). only the opportunity to do something different makes it neccessary to kill the maps state. am i clear? sorry for my english, i am german :-)
neoberlin22 3 years ago
Why does the activity manager in the system process have the mail icon at the start, when there's no mail process? Is it because the mail application has a service which has been killed - and will presumably be launched again when it is time to check mail? If that's the case, why doesn't it have any state saved in it? ...but then there's nothing in the 'mail process' when it's created (should have something to represent a server along side the activity, no?).
It's confusing me. Any ideas?
davidmaxwaterman 4 years ago
..no, I'm wrong. The mail 'activity' that's in the activity manager part of the system process is the 'mail list' activity, and it's created *before* the mail process itself. If it was from some previous instance of the mail process it would have some saved state on it, but it doesn't....weird.
Either I'm very confused, or it's a 'typo' on the video (or both).
davidmaxwaterman 4 years ago
ah, the 'extra credits' part of the NotepadCodeLab helps a lot. There's nothing like actual code and a debugger to explain things :)
davidmaxwaterman 4 years ago
I know, these guys know lot about me and their information hunger is getting bigger and bigger. BUT I LOVE GOOGLE!!!11 The applications they are developing are very good documented, so everyone can learn their products fast => google gets more popular...
samunai 4 years ago
Hi everyone!
I think i got how it works... now i have a question - what if that saved state will contain some data, wich leads to an error in application?
Then user will navigate to such an application again, even if process is restarted, and... bang! we got same error again and again. User will never be able to use that app, will he?
CM3PTb 4 years ago 2
From this admittedly brief explanation, Mike explained how Back works but not Forward.
You can probably do this by saving the last user interaction (the one that launches the next activity) with the rest of the state information, then restoring it when you go back to the application. Is this built in?
danthelewis 4 years ago
You're thinking of this as being like a web browser, but that's a confusing way of thinking about this.
What is being discussed is what happens in the background when one Android application loses focus and another gains it.
It's basically a really long way of saying "when an Android application loses focus, its state gets saved, and when an Android application regains focus, its state gets restored."
There's a few other details in there, but that's the main message in this video.
protozone 4 years ago 2
The whole point of having Back is so that I and the other millions of users do indeed think of this as being like a web browser. It's so the users can pick up on the interface without thinking about how it's implemented.
You don't import a user interface metaphor like Back and then make it leak by breaking Forward. This is asking for confusion.
Is there a big reason not to have a forward stack to go with the back stack?
danthelewis 4 years ago
This isn't something that users will ever see. This is a video for developers. It is not possible for there to be a "forward stack," and when we say "back," we are not talking about the same type of "back" that you see in web browsers.
protozone 4 years ago
Why do you save the HOME state if the process is never going to be terminated ?
giacomolg 4 years ago 3
That's a good question.
At 2:20 Mike explains activity states are stored "if something bad happens" which is either freeing up memory when there isn't enough of it or when application crashes.
I guess that might happen with Home application as well, since it takes up memory as well and nobody's perfect. ;-)
shonzilla 4 years ago 4
Sounds like the Home application is a special case.
There is probably a limit to how much memory it will ever need, and since every other application is considered "less important" than the Home application, it should never need to be killed.
protozone 4 years ago
Really good question,
i explain to you using the example of PC-OS, like Windows. You always have a way to dump the state of memory, and so of your machine, for management and fixes, this means you ALWAYS have an image of ALL processes saved into the memory, for a "work saving" scope.
This is the HOME state, i think.
NightSun666 4 years ago
Great use of keynote 08 :)
jeremyfoo 4 years ago
This has been flagged as spam show
THIS REALLY WORKS OUT!TRY IT OUT.
1. Say your name 10x
2. Then say your mom's name 5x
3. Then say your crush's name 3x
4. Then postthis on 4 different videos. If you do this your crush will kiss you on the nearest friday! But if you read this and dont post it on 4 different videos then you wil have very bad luck
yungking334 4 years ago
This has been flagged as spam show
Doesn't he get tired of speaking so much?
IcemanASP 4 years ago
Hmmm...I know this is just an example, but it seems like it would be better to have MORE MEMORY than to simply start killing processes. For instance. If I'm doodling around in the maps application as shown, it would be nice to have my mail app periodically check the server for new messages.
ferrell 4 years ago 2
There is a component called Service, which is described in building blocks. It basically do what you want, run in background and doesn't killed except if the phone is on extremely low memory.
necrodome 4 years ago 3
can't wait to see some actual platforms for this...
argladd86 4 years ago
I'm already thinking about "the killer app"
hoofmen 4 years ago
wow
vatd112 4 years ago
pretty exciting!
travischoma 4 years ago