Related
Hey all,
I've been searching for techniques people use to make transparent controls. The problem with windows mobile is that windows always have the CLIPCHILDREN window style set. So you can't grab the contents of the parent window (in WM_ERASEBKGND for example) because it isn't there.
One technique would be to have the parent pass the handle of the background DC it uses to the child control but that involves having a memory DC around all the time. And if the child control is covering any sibling controls you'd be out of luck as well.
Another solution I've read about is to temporarily hide the child window so the parent window is forced to redraw the parts that would normally be obscured by the control. I personally do not like this approach. (the drawbacks are also discussed on some MS forum, i'm not allowed to post outside links yet, google for "Rounded Buttons : Does any one see any problems with this method" and you will find it)
So, there are ways to achieve what I'm looking for but they are far from optimal. Just wondering what everybody else is doing to achieve this.
The responses in that thread are pretty much spot on (funny to find I know over half the posters in that thread by reputation).
If you want to do this well, you really need to draw your own stuff, making a complete custom UI.
There is no proper way to do this in Windows Mobile (without runtime kernel patching, that is ).
Chainfire said:
The responses in that thread are pretty much spot on (funny to find I know over half the posters in that thread by reputation).
If you want to do this well, you really need to draw your own stuff, making a complete custom UI.
There is no proper way to do this in Windows Mobile (without runtime kernel patching, that is ).
Click to expand...
Click to collapse
What do you mean by "drawing your own stuff"? I am drawing everything myself now in all control i made using AlpheBlend() where needed. But that still doesn't resolve the background issue. Or are you referring to just drawing everything in a single WM_PAINT handler and only having one screen DC?
PegNosePete said:
What do you mean by "drawing your own stuff"? I am drawing everything myself now in all control i made using AlpheBlend() where needed. But that still doesn't resolve the background issue. Or are you referring to just drawing everything in a single WM_PAINT handler and only having one screen DC?
Click to expand...
Click to collapse
Well the method I use in my own new UI's is indeed per form (excluding WinAPI controls like edit boxes and such) draw using only one DC.
The problem is that any 'windowed' control, the parent will not draw to the DC if a 'windowed' control overlaps. Due to CLIPCHILDREN all data drawn to that position is simply lost.
Now, handling WM_PAINT you can get the entire update region, which tells you which parts of your form have to be redrawn. You must use this information, because blitting the entire form is very slow!
In essence, to do this right you well end up faking most of the GDI system, including your own 'fake' child windows, invalidating and revalidating portions, calculating the intersections of your 'fake' invalidated regions of the screen with the update region you get in WM_PAINT and redrawing those parts.
There are several different strategies to go about this, one is to redraw on demand, another one is to use double buffering.
I personally mostly use the double buffering technique, as this easily provides every 'fake' control with a bitmap of it's own region. A child control can then alphablend using the parent's buffer as one of the alphablend sources.
You can of course combine this with keeping state information whether a child, grandchild, etc is using alpha / transparency and this with an algorithm deciding which control needs double buffering or can draw on-demand, which can give both speed and memory use advantages. In a lot of situations you can then suffice with only double buffering the 'top' component (form) and a select number of child components.
Of course two drawbacks of per-control double buffering are speed and memory use. You can eliminate the complete-form double buffer with some smart coding and calculating. This will give you a slight speed and memory advantage. Memory use is high because many of your controls will have a copy of their current state.
This can be as complicated, feature-filled, fast and efficient as you are willing to make it. The better you can design the code the better it will work, but it is not a trivial task. There are many ways to go at this, no one way is definitely better than the other ways. It depends on what your applications does with it's display, how simple you are drawing (are you making a simple white background, or a background based on images for example gradient?), which method is more efficient.
The other method is getting the update region and actually perform redrawing of those invalidated sections (instead of copying from buffer). I can tell you from experience that if you are using image backgrounds and alphablend calls, this will be _much_ slower than double buffering (if done right).
I know all of this probaby makes little sense, I'm not a hero with explaining things ... you really have to figure this out for yourself, I guess.
Other advantages of building your own UI system are that if you do it smartly and buffering, it is very easy to port to directdraw, and possibly even GL. But I must warn you, on far the most devices actually using directdraw for this stuff is not much faster, it is in fact hardly noticable. If you manage to make a GL port, that can especially on older HTC devices (pre-HD2) be much faster.
Seeing as WP7 will be almost as crippled as the iPhone, let's see ways in which it will be better, besides replaceable battery and memory card(and it's not certain every OEM will follow up on those either). So far it has two weaknesses that only the iPhone has: Lack of multitasking and apps must go through the marketplace.
In order to pick up iPhone users it will have to offer some advantage that the average iPhoner will notice.
Some advantages:
Information at a glance a la today screen with the hubs. iPhone has nothing like this.
It will (supposedly) have some degree of multitasking.
Two more hardware buttons.
Its funny since I've had my HD2 I've not really used multitasking and when I had my iPhone only not being able to use Spotify in the background bugged me so maybe certainly for me multitasking isn't a be all and end all.
Having read lots of stuff about WP7S, the conclusion I have come to is this...
There will be two types of apps
1. Apps with no need to run in the background
2. Apps that do need to run in the background
Examples of type 1 are games, spreadsheets and word processors.
Examples of type 2 are IM apps like palringo, and music streaming services such as pandora.
What will happen is that when you develop an app, by default it will not have the rights to use the background APIs. In order to gain access to them and have an app run in the background, you'll need to ask Microsoft to provide the access and make it a type 2 app. Microsoft will only allow this if you can convince them it is necessary for the functioning of your app.
Type 1 apps will simply pause when the user switches away from them. They will remain in memory but will be unable to execute any code until the user switches back to them, whence they will resume execution. This will ensure the app cannot hog any CPU and cause the UI to stutter or slow down. This is definitely a good thing.
Type 2 apps are given access to particular APIs to allow them to, for instance, download updates or postings on IM systems. This will be strictly controlled and priority will always be given to the UI, again to ensure it remains smooth and responsive.
That's my take on what's going to happen, and we'll see if I'm right at MIX 2010 next month.
So your answer is - yes it will multitask but only when it is truly needed. Which to me is the best of both worlds. It will ensure a smooth user experience whilst still allowing background operations.
Jim Coleman said:
In order to gain access to them and have an app run in the background, you'll need to ask Microsoft to provide the access and make it a type 2 app. Microsoft will only allow this if you can convince them it is necessary for the functioning of your app.
Click to expand...
Click to collapse
Lets hope theyre not too stingy with giving out access to these API's!
The hubs/services (I'm not sure what MS is calling these) system looks good; getting new relative options available on multiple hubs just from installing a single app (like they demo'd with Facebook) should make all the apps work together much better than on an iPhone. I already want to try to make one to generate a music playlist based on past plays, and another to find lyrics to the currently playing song; If I understand the system properly, these would automatically integrate into any 3rd party apps using the appropriate media API's.
Also the context-sensitive search looks to be awesome.
One disadvantage: possible lack of native code execution and probably no OpenGL support - making it harder for iPhone app developers to port their existing apps to Windows Phone.
weesals said:
One disadvantage: possible lack of native code execution and probably no OpenGL support - making it harder for iPhone app developers to port their existing apps to Windows Phone.
Click to expand...
Click to collapse
why the heck should iPhone devs have an easy migration to WP7 if WM 6 devs don't?
weesals said:
Lets hope theyre not too stingy with giving out access to these API's!
Click to expand...
Click to collapse
The impression I'm getting so far is that they will be very stingy indeed. The only people who will ever get access to non-standard API's will be phone manufacturers and networks, and even they usually won't get access to the native API's most of the time. Microsoft will not publish any documentation about native API's. To get access to them the manufacturers will have to apply to Microsoft on a case by case basis. If Microsoft judges that a native API is required (and if there actually is one that might help) then only at that point will they release any information, and a condition of this is that they will vet the resulting piece of software to verify that the native API is being used correctly, and forbid the release of the software if it isn't.
What we don't know yet is where multi-tasking sits within all this. Is it a standard managed API, an extended managed API, or a native API?
why must every phone be compared to an iphone...personally I never liked the iphone, never will...only good thing about iphone is the apps..otherwise it sucks..and high end smartphones should not be compared to it!
The only thing I like about iPhone is how I use the virtual keyboard to type text.
I have tested HD2 and iPhone in a store, and from my own perspective, iPhone is more responsive and accurate compared to HD2.
I hope WP7 can be better than those 2 platforms in this task.
giggles33 said:
why must every phone be compared to an iphone...personally I never liked the iphone, never will...only good thing about iphone is the apps..otherwise it sucks..and high end smartphones should not be compared to it!
Click to expand...
Click to collapse
gogol said:
The only thing I like about iPhone is how I use the virtual keyboard to type text.
I have tested HD2 and iPhone in a store, and from my own perspective, iPhone is more responsive and accurate compared to HD2.
I hope WP7 can be better than those 2 platforms in this task.
Click to expand...
Click to collapse
that isnt aways based on the OS or software, but the quality of the touch screen.
Jim Coleman said:
Having read lots of stuff about WP7S, the conclusion I have come to is this...
Click to expand...
Click to collapse
This definitely seems like the best thing to do for multitasking in WP7.
We are going to need a task manager though...
As for comparing to the iPhone:
-WP7 will be available in different hardware configurations, giving the consumer a choice in the style and capability of their device.
-Xbox integration, which will most likely include Arcade games (ported for playability of touchscreens)
-Better hardware standards
-Not quite as locked down (hopefully)
RAMMANN said:
why the heck should iPhone devs have an easy migration to WP7 if WM 6 devs don't?
Click to expand...
Click to collapse
Because that's where the money is.
Seems people are struggling to come up with any, maybe something magical will appear in the next few weeks, although I doubt it, the advantages of WM seem like they will be gone with WP7, people on forums like this and blogs have been asking for a windows mobile iphone [without being an iphone] and it looks like they're going to heed the demand.
The most important advantages are gone.
They've made an exact copy and think it is enough. But it's not. When you try to catch up, you have to be better.
There's almost nothing WP7 is better at. It's an exact copy of iPhone OS with a better UI on top, but lacking the thousands of applications. That's not going to be enough and I really can't think about a reason why consumers and developers would be excited about this.
(and don't get me wrong - I LOVE the UI - it's just not enough)
Free Microsoft Office (Document viewing, creation, downloading, and editing)
Abobe Flash Player 10.1 is coming
File downloads (possibly)
Apps like a Wi-Fi router and file manager will likely come and be allowed
XBOX LIVE! Enough said.
Zune integration and support (I'm a Zune user)
1GHz Snapdragon is the processor minimum (This will lead to awesome apps and games)
WVGA display minimum (You might not care too much about this one, but I've seen the difference, and it's AMAZING!)
Bing search (That's just my preference.)
Contextual search (A handy feature, I suppose.)
There is not an app collection of 100,000 with most of which being totally useless. This means that you"ll be able to find the good apps.
Even if Microsoft won't allow apps like a Wi-Fi router and file manager, all we would need to do would be to get all WinPhone7 users on XDA to install the XNA Game Studio (and possibly the Win Phone7 SDK) and we could simply upload .ccgame files to XDA instead of .cab files.
giggles33 said:
why must every phone be compared to an iphone...personally I never liked the iphone, never will...only good thing about iphone is the apps..otherwise it sucks..and high end smartphones should not be compared to it!
Click to expand...
Click to collapse
I know! Why must smartphones always be compared to a simple feature phone! I've tried the iPhone/ iPod touch (3rd generation) at Best Buy stores, and, let's just say, they froze more and gave out more errors in 5 sec. than 5 WinMo devices did combined over the course of 2 hours. The iPhone's keyboard isn't too great either. It's (the errors thing) 100% true.
Jim Coleman said:
There will be two types of apps
1. Apps with no need to run in the background
2. Apps that do need to run in the background
Examples of type 1 are games, spreadsheets and word processors.
Examples of type 2 are IM apps like palringo, and music streaming services such as pandora.
What will happen is that when you develop an app, by default it will not have the rights to use the background APIs. In order to gain access to them and have an app run in the background, you'll need to ask Microsoft to provide the access and make it a type 2 app. Microsoft will only allow this if you can convince them it is necessary for the functioning of your app.
Type 1 apps will simply pause when the user switches away from them. They will remain in memory but will be unable to execute any code until the user switches back to them, whence they will resume execution. This will ensure the app cannot hog any CPU and cause the UI to stutter or slow down. This is definitely a good thing.
Type 2 apps are given access to particular APIs to allow them to, for instance, download updates or postings on IM systems. This will be strictly controlled and priority will always be given to the UI, again to ensure it remains smooth and responsive..
Click to expand...
Click to collapse
This is the right answer. Anybody who calms down would see that this makes sense. More Apple-like approval process for Type 2, free reign for Type 1
Shasarak said:
The impression I'm getting so far is that they will be very stingy indeed. The only people who will ever get access to non-standard API's will be phone manufacturers and networks, and even they usually won't get access to the native API's most of the time.
What we don't know yet is where multi-tasking sits within all this. Is it a standard managed API, an extended managed API, or a native API?
Click to expand...
Click to collapse
Yeah, you're talking about native vs managed stuff, which is not the same as simply allowing an app to have a background process. True, AT&T and HTC will have to apply to for native API use for stuff relating to making calls, etc, but that was only about OEMS and network operators.
Regular 3rd party guys, of which there are many, will be expected to get a way to do what they need on the device. Pandora we've seen in Music, you can expect apps like Palringo showing up in People
burnblue said:
This is the right answer. Anybody who calms down would see that this makes sense. More Apple-like approval process for Type 2, free reign for Type 1
Click to expand...
Click to collapse
Just because it makes sense doesn't mean Microsoft will act like that. In fact, I'm sure they will not.
The mass market will not benefit from every joe having all the API's because it's going make programs that cause glitches/crashes/memory leaks, etc. They are doing what they think is best for mass market and that is make sure things work well on the device and everything is user friendly with the least amount of hiccups possible. So that means more restrictions on us.
^^^ +1
Jim Coleman said:
What will happen is that when you develop an app, by default it will not have the rights to use the background APIs. In order to gain access to them and have an app run in the background, you'll need to ask Microsoft to provide the access and make it a type 2 app. Microsoft will only allow this if you can convince them it is necessary for the functioning of your app.
Type 1 apps will simply pause when the user switches away from them. They will remain in memory but will be unable to execute any code until the user switches back to them, whence they will resume execution. This will ensure the app cannot hog any CPU and cause the UI to stutter or slow down. This is definitely a good thing.
Type 2 apps are given access to particular APIs to allow them to, for instance, download updates or postings on IM systems. This will be strictly controlled and priority will always be given to the UI, again to ensure it remains smooth and responsive.
That's my take on what's going to happen, and we'll see if I'm right at MIX 2010 next month.
So your answer is - yes it will multitask but only when it is truly needed. Which to me is the best of both worlds. It will ensure a smooth user experience whilst still allowing background operations.
Click to expand...
Click to collapse
This neither solves problems nor guarantees anything though. Poor code is still poor code. Too many apps running is STILL too many apps running (slows the UI). MS can police neither. So, your #2 solution really makes no sense and has no advantages. MS has no way of predicting who will run what app and when on their phones. What if a user chooses to run several "Type 2" apps? Will you get some sort of error message? Will the MS police arrest you for ruining the UI experience? What happens after several years of approved type 2 apps hitting the market? Now were back to the same problems of WM.
Dude, we're talking about 1Ghz+, 512MB+ RAM phones here! You can run lots of apps without slowing anything down. Really, the "multitasking slows down the UI" argument is utter bull****. A good OS handles multitasking in a way that doesn't slow down anything. Restrictions are only necessary if the OS itself sucks. A good OS doesn't need them.
as my assumption ,OS freeze the application but still allow application to update the hub
http://www.engadget.com/2010/03/17/windows-phone-7-series-multitasking-the-real-deal/
We've definitely learned a ton about Windows Phone 7 Series here at MIX, but getting the full picture on multitasking has been difficult, since the OS isn't ready, no one has final hardware, and the emulator seems to behave differently than actual devices and Microsoft's descriptions. So let's set the record straight on multitasking: it's not going to happen, at least not in the traditional way. Not only have we directly confirmed this with Microsoft executives several times, but the developer sessions here are totally clear on the matter -- you don't tell 1000+ devs that they should expect their apps to be killed whenever the user switches away from them if you don't mean it. Now, that's not to say that the OS can't do multitasking: first-party apps like the Zune player and IE can run in the background, and third-party apps are actually left running in a suspended state (Microsoft calls it "dehydrated") as long as the system doesn't need any additional resources. If the user cycles back to an app, it's resumed ("rehydrated") and life continues merrily along, but if the user opens other apps and the system needs additional resources, the app is killed without any indication or remorse.
If that sounds familiar, it's because it's basically a single-tasking riff on Android and Windows Mobile 6, both of which also purport to intelligently manage multiple running applications like this, and both of which usually find themselves greatly improved with manual task managers. We'll have to see if Windows Phone 7 Series can do a better job once it ships -- we have a feeling it will -- and later down the line we'll see if Microsoft decides to extend multitasking to third-party apps. But for now, just know that you're not going to be running Pandora in the background while you do other tasks on a 7 Series device -- it is a question we have specifically asked, and the answer, unfortunately, is no.
so it doesn't support multitasking... at least not in a tradition sense.
but i guess this isn't too bad.. i mean, as long as i can start writing an email and then go online and then come right back to my cursor... or play a game, hit pause, send a text, and then come right back to pause screen.
hopefully i can connect to a site, switch to text... while i'm writing a text, wait for the webpage to load, and come back.
anyway, i'm pretty sure if MS can't compete w/ the ipod, MS can't compete w/ the iphone.
They have actually did a demo on loading websites in the background while doing other stuff so that will be possible.
why is it so hard to update my Yomomedia feeds while sending a text message?
It's plain dumb. RAM is made for a reason.
Now, that's not to say that the OS can't do multitasking: first-party apps like the Zune player and IE can run in the background...
Click to expand...
Click to collapse
Thats nice for the Zune-Player and the IE, but what if I want to use a different player or browser?
rorytmeadows said:
why is it so hard to update my Yomomedia feeds while sending a text message?
It's plain dumb. RAM is made for a reason.
Click to expand...
Click to collapse
WORD! Its really funny thoug how all those people here defending the decision not to include MT by asking what application really needs it. My opinion, every app that loads longer than 1 second, because that is how fast I activate a minimized application right now!
And on a sidenote, notebooks had limited amounts of ram and processing power combined with terrible running times for decades, and no fool ever came up with the idea of disabling MT to solve those problems...
Both the stock iPhone and WPS7 supports multitasking only for their own applications, so you will be able to play music in the background, browse the net with either the stock browser or third party browser. In the case of stock iPhone, a third party application called Nike can also run in the background but that's a rare exception Apple has made.
To be able to run third party applications in the background, the jailbreaking community gives us tweaks such as Backgrounder, Kirikae, Circuituous, Multiflow.
I think something similar might happen to WPS7. Some technical gurus either from the XDA community or other places might do something similar and jailbreak and introduce background processing capability for third party applications.
rorytmeadows said:
why is it so hard to update my Yomomedia feeds while sending a text message?
It's plain dumb. RAM is made for a reason.
Click to expand...
Click to collapse
Why?
OS still allows application keep running,OS just stops the UI rendering ,stops the playing music
eaglesteve said:
Both the stock iPhone and WPS7 supports multitasking only for their own applications, so you will be able to play music in the background, browse the net with either the stock browser or third party browser. In the case of stock iPhone, a third party application called Nike can also run in the background but that's a rare exception Apple has made.
To be able to run third party applications in the background, the jailbreaking community gives us tweaks such as Backgrounder, Kirikae, Circuituous, Multiflow.
I think something similar might happen to WPS7. Some technical gurus either from the XDA community or other places might do something similar and jailbreak and introduce background processing capability for third party applications.
Click to expand...
Click to collapse
It is patently absurd that Microsoft, of all companies, would enforce such a limitation. What about applications that you want to respond to the Accelerometer? Light sensor? Any other system events built into the OS/tool-kit? They have written all sorts of cool stuff like the Reactive Extensions (which isn't just for mobile) - how is this supposed to work if it doesn't support multitasking? How is my app supposed to respond to environmental events if it isn't freaking running?!
bjhill2112 said:
How is my app supposed to respond to environmental events if it isn't freaking running?!
Click to expand...
Click to collapse
Well, to be fair, MS has a way for it in WM, it's called persistent notifications, which works in many (not all) cases. It doesn't seem to be included in WP7 though, I don't see any traces of SNAPI.
vangrieg said:
Well, to be fair, MS has a way for it in WM, it's called persistent notifications, which works in many (not all) cases. It doesn't seem to be included in WP7 though, I don't see any traces of SNAPI.
Click to expand...
Click to collapse
I've been poking around in the tool kit and I can't find anything either.
MS says new multi-task in wm 7 is more like as iphone's
some apps will suspenses, then system will shut them automatically to clean up system resources
bestfan said:
MS says new multi-task in wm 7 is more like as iphone's
some apps will suspenses, then system will shut them automatically to clean up system resources
Click to expand...
Click to collapse
No ,it is different, on wp7s, while apps suspense to background ,apps still allow update the hubs and tiles and multi apps can be suspended to background
Something that I'm coming to terms with, with the Android OS and HTC. It's feeling a bit like my desktop computer.
Obviously pros and cons.
But the irritating thing is that, unlike my desktop, you don't really have an option to exit most apps. Why? I love Android because it's very customisable. But why is there not the option to leave it in the background OR close it completely? I'm not an Apple fan, but I get the feeling that they will have a cleaner multitask/program control system. Eventually. Still won't buy one though!
Then you have the Palm WebOS that shows everyone how to multitask. And with, let's be frank, hardware that puts it (at best) middle of the smartphone pack.
Then you have startup. I've got Fring and Docs to Go (free version), and for some reason, they both startup with powering up. Fring even has an option to startup or not to startup. Maybe that's a bug. But Docs to Go? I can't even see the option. Hopefully these two are the exceptions.
But just the simple thing (I think) first. Why the hell is there not an option on every program to exit it - therefore killing it dead?! Why why why? I'm no programmer but is this really such an issue???
Fortunately there's many programmers on this great site so maybe someone can educate me.....
Cleargrey said:
But just the simple thing (I think) first. Why the hell is there not an option on every program to exit it - therefore killing it dead?! Why why why? I'm no programmer but is this really such an issue???
Click to expand...
Click to collapse
Because the android system doesn't need to kill applications, it just takes resources from them when they are needed. You can manually kill tasks but then the resources will just be reassigned in a matter of minutes.
Which is definitely impressive.
But as some programmers I've spoken to said, it doesn't seem to work as precisely as you may want. Windows Mobile had a similar issue. It was meant to work, but didn't.
In fact, now that you mention it, I think I may do a Palm PreCentral.com task, and see how many apps I can open before I see slowdown. If I see slowdown.
This will be interesting....
Go and read at Google how to setup an android application an how the application processes work. You don't have to be a programmer, but it answers all you questions and doubts.
There was even an article somewhere that using a taskmanager and killing tasks decreases battery life. Not what you would expect, but understandable when you see how the structure works.
Cleargrey said:
Then you have startup. I've got Fring and Docs to Go (free version), and for some reason, they both startup with powering up. Fring even has an option to startup or not to startup. Maybe that's a bug. But Docs to Go? I can't even see the option. Hopefully these two are the exceptions.
Fortunately there's many programmers on this great site so maybe someone can educate me.....
Click to expand...
Click to collapse
I assume that Docs to Go preloads some stuff it needs so that it won't have to load that when opening the first document. You have to see: A background task isn't something bad, as long as it's not doing anything it won't use battery either.
Same with "free" memory: if memory is "free", it's not being used. Docs to Go puts itself in the memory so it's already there when needed. You'll never have trouble with not having enough free memory to run an app, because Android takes care of that (frees memory when needed, leaves stuff in memory when there is plenyty of room to do so).
Use advanced task killer and it should kill any app, with all apps you should be able to turn it off so it doesn't automatically start when you turn on the phone, try opening the app and press menu or look into the options to turn it off
@ RaptorRVL - I would be very interested in reading that article. And I don't mean that in a sarcastic way, I mean I would honestly be interested in reading it as if it's true, I need to adjust my thinking on how Android workds. I'm looking, but if you find any links, please share.
@oawalker - I know there's many arguements about task killers whether they are needed or not. I have one. But I'm not going to say it's absolutely necessary as I think I need to read more hard facts. But it sort of brings me back here.
As jm997 has said, Android OS rejiggs resources as required, so you are never left wanting. However on earlier devices, this was obviously not working to such a degree as many complained of slowdown. Hence we come to today with the arguements of do I / don't I get/need a task manager.
I have to admit, it was the first app that I got so I could see what is running natively so I know what not to trouble. But I'm a control freak, I have to know.
What I just did was to load up every app I had, 50 in total, along with the apps and widgets already running, maybe another 5-10, to see if I can see slowdown. And I watched the memory on my memory widget drop to 10%. And I gotta say, my Desire is still running as smooth as it ever was with maybe a slightest fraction of slowdown. If that.
However, 1. I have no idea what affect this has on my battery life. 2. I would still like to be able to totally close something by simply tapping exit, or purposely leave it running.
Don't get me wrong, the multitasking, as I've just mentioned, is very impressive and obviously much better than earlier versions. And Android is still a new OS that's maturing nicely. But I still gotta wonder if this is a clean way to operate or if we are heading for a bit of a Microsoft Windows Mobile 6.x mess.
Now to find those pages RaptorRVL spoke of......
Random trivia: I just put "android", "google" and "multitasking" into Google, and the top 3 hits are all about speculation about will a platform that doesn't really multitask, really multitask.
"Rumored iPhone OS multitasking would use Exposé-like feature"
"Apple iPhone vs. Google Android – Mobile Software War Between ..."
"Are the people at Google watching the iPad release? - Android Help"
Go figure. Come to your own conclusions....
If I remember correctly, in the earlier versions of Android (1.x), there was an option for developers to force programs to stay in memory. This was meant to be for programs that needed it, but unfortunally it was abused, so Google removed it as of 2.x.
The Desire runs 2.1, so it shouldn't be a problem for us anymore.
This article was written in Norwegian, but I'll post a Google translate link, as it was very good
edit:
Here is the link to the translated article:
http://translate.google.com/transla...du-avslutte-programmer-i-android/&sl=no&tl=en
Some words was translated badly, but most of it was fine.
Cleargrey said:
Random trivia: I just put "android", "google" and "multitasking" into Google, and the top 3 hits are all about speculation about will a platform that doesn't really multitask, really multitask.
"Rumored iPhone OS multitasking would use Exposé-like feature"
"Apple iPhone vs. Google Android – Mobile Software War Between ..."
"Are the people at Google watching the iPad release? - Android Help"
Go figure. Come to your own conclusions....
Click to expand...
Click to collapse
here you go
http://geekfor.me/faq/you-shouldnt-be-using-a-task-killer-with-android/
this should enlighten you about Android memory management as it did for me
good luck
That was the article I was referring to.
And for more information read this: http://developer.android.com/guide/
Thanks Zappza and irkan. Great info and very informative.
I think the bits that stuck out for me are:
"The point is to not see Android as a PC, where applications run until you stop them. It works just not the same."
"...linux will run the same regardless of if you have 20mb free memory or 200mb."
"It has been possible for software developers to implement a feature... and could therefore not be concluded automatically. Android phone will not quit the program even if there is a need for memory or CPU resources the program uses. ...As a result, so the function removed in Android 2.0."
Ok, for the next week at least, no killing tasks at all. Let's see how that goes.
I like this site. There's always people willing to school you with facts rather than abuse you with hot air.
When I turn my phone on I get all of these apps running:
Music
FM Radio
Calander
People
Documents2Go
ShopSavvy
Assistant Free
CNET scan and shop
timeriffic
3
Photos
Mail
Footprints
Google Mail
Settings
3G watchdog
Wave secure
handcet sms
messages
facebook
clock
advanced Task Killer
How can I stop this??? Surely this is taking up my battery??
Raminder1992 said:
When I turn my phone on I get all of these apps running:
Music
FM Radio
Calander
People
Documents2Go
ShopSavvy
Assistant Free
CNET scan and shop
timeriffic
3
Photos
Mail
Footprints
Google Mail
Settings
3G watchdog
Wave secure
handcet sms
messages
facebook
clock
advanced Task Killer
How can I stop this??? Surely this is taking up my battery??
Click to expand...
Click to collapse
if its not active or updating it is not eating the battery power, it will only take small very small memory to reside in, and even with that, when any process is inactive for along time and if Android needs memory, it will not hesitate to take it (the memory) away from that inactive process.
irkan said:
if its not active or updating it is not eating the battery power, it will only take small very small memory to reside in, and even with that, when any process is inactive for along time and if Android needs memory, it will not hesitate to take it (the memory) away from that inactive process.
Click to expand...
Click to collapse
Hello, thank you for that. After reading the article you posted I was not sure if it was for all apps.
I have deleted my ATK and lets see how it goes .... because my battery life was pretty poor before!
Also when you check your battery life is there any way to get the % rather than that big bar thing split into 10 bars?
Raminder1992 said:
Hello, thank you for that. After reading the article you posted I was not sure if it was for all apps.
I have deleted my ATK and lets see how it goes .... because my battery life was pretty poor before!
Also when you check your battery life is there any way to get the % rather than that big bar thing split into 10 bars?
Click to expand...
Click to collapse
there is a Battery widget i believe, you can download it, and it will show you a percentage of the battery, not sure of the exact name though, check in the download widgets
Now that I've read more, and thinking back to all the arguements I read about Android and task killers, and it occured to me that every post that spoke about slowdown, it was based on knowledge from Android 1.x. I'm still trying to get some slowdown (due to memory) on my unit and haven't managed it yet.
So I'm curious now, has anyone experienced slowdown on an Android 2.x device? I'm guessing much much less, if any.
Cleargrey said:
Now that I've read more, and thinking back to all the arguements I read about Android and task killers, and it occured to me that every post that spoke about slowdown, it was based on knowledge from Android 1.x. I'm still trying to get some slowdown (due to memory) on my unit and haven't managed it yet.
So I'm curious now, has anyone experienced slowdown on an Android 2.x device? I'm guessing much much less, if any.
Click to expand...
Click to collapse
Only when the FM radio freaked out and started locking my phone up, other then that no slow downs.
I'm a long time Windows "expert" and as such have become a bit paranoid about closing rather than minimising apps. When I got my first Android phone I, like a lot of other windows people, immediately installed a task killer. I soon found it a mistake though. Battery life was definitely worse and applications took longer to load. It's very difficult for people with a Windows background to accept that Android works in a different way and that, providing the application is written property, suspended apps. are not using any appreciable resources.
If windows has been written better in the first place we would never have preceived it as a problem. I am still tempted to install a task killer but I keep telling myself "this is not Windows".
I realize that most of the apps I install simply crash (almost 20% or 30%).
Also, sometimes they are totally buggy because they do not respect the specifity of local markets where they are made available (e.g. in France apps will not work with researches including French accents, or coma "," instead of dot "." before decimals), which means the developers actually did not respect MS' guidelines.
Examples:
- FourSquare that does not accept french accents
- IMDB that crashes in France,
- Factbook quiz that crashes,
etc, etc, etc
In my opinion such high number of buggy apps is totally not acceptable.
Why Microsoft validate all those apps that are not reliable ? ? ? !
I am fed up. It gives a very bad image of the Marketplace. And it makes me waste my time.
Starting to feel the same way too after what looked like a promising start to the OS. The quality of some of these apps is incredibly low.
And what is Microsoft doing with postponing these much needed updates?
Their SDLC for the platform appears to be falling apart.
Having been a MS Phone user since WinMo5, I'm seriously starting to regret investing in WP7
The problem is probably that Microsoft want to claim as soon as possible that they have more than 10.000 apps available on the Marketplace.
But what's the use if most of these apps are actually not reliable and crash ??
Quantity is one thing, but WP7 customers are also entitled to some quality apps.
It's a shame that developers do not respect MS' guidelines with respect to local market rules (decimals, accents, etc.) and that Microsoft do not verify this.
I could make a very long list of apps I tested and immediately uninstalled because they crashed.
I think this could be easily fixed by limiting certain Marketplace apps to certain regions. It's not the developer's fault if they're from the US if they don't want to or see a need to support French characters and accents... MS just needs to make the app unavailable in France. Would you prefer MS to do that, than to let you try it and fail?
Yeah, I'm in the US and very few app issues here... guess it's just elsewhere.
Hello. I think i know what you guys mean, but this has to do with the OS . After the updates i'm sure everything will become much more fluid and less buggy . Its normal !
I've found alot working apps. Btw apps wich you used and downloaded from the market homebrew aplication, it'll give alot of problems. Oficial paid apps, are working very fluid!
Never had issues with facebook app
Hrmmm . . . I guess I need to start downloading more apps. I have not come across any that crash. I have had an issue where the app will not launch, but restarting my device permanetly fixed the issue.
arturobandini said:
I realize that most of the apps I install simply crash (almost 20% or 30%).
Examples:
- FourSquare that does not accept french accents
- IMDB that crashes in France,
- Factbook quiz that crashes,
etc, etc, etc
Click to expand...
Click to collapse
Microsoft should't be responsible for this directly.
What Microsoft can do is:
-Create better ratings so you can judge what apps are good, including stability.
-Efficiently ensure you get a refund when apps are unsatisfactory.
-Prevent a crashing app from taking down the system. I guess this is already done.
-Make it easy to write correct, therefore stable apps. This is already done quite well with .NET.
I dont get it either how can someone that is tring so hard phail so bad (limiting apps, multitasking). They humor us with their claim that no multitasking will make it more stable but i have never had a phone that crashes so much; my droid has possible crashed once every quarter this phone crashed daily/weekly.
For restricting so many apps from the market WP7 apps are so unstable even default apps i.e Market place, web, anything in zune, would not mind if they crashed but christ can you add a app manager so i dont have to reboot the phone. and god what pisses me off the most is that if you have multiple alarms going off at the same time (snooze(im a heavy sleeper)) the screen will freeze but still allows the stand by button to work; like dang its still 6am (oh **** its frozen im late, thanks wp7)
Crazy... most is user problem.... my HTC 7 Mozart very smooth.... after change memory to 16GB.... one word "Power" next target "32GB"
Sometime problem come with you internet connection instead of OS itself.....
Too many different devices. Different hardware. Many bugs.
thepinkrabbit said:
Too many different devices. Different hardware. Many bugs.
Click to expand...
Click to collapse
Choose HTC...... lol
iwantnokia said:
Choose HTC...... lol
Click to expand...
Click to collapse
Actually, that's the problem in many cases - consumers have chosen HTC and are being penalized for it because of the [at times] sub-par SD-card used rather than NAND.
I had a HD7 for a while before getting the O7's and it [HD7] crashed far more often than the Omnia has ever done. Not just the marketplace/zune crash but also applications refusing to start because they're taking too long to load etc. I've seen similar problems on my HD2 and a Mozart but not on either of my O7s or the LG I used for about a week.
Your right, M$ does need to stop validiating so many apps