Multitasking

There's been a bit of fuss over the way the HTC One X (and One XL) handles multitasking, with some folks saying the phone is broken when talking about the way it handles tasks in the background. While it certainly is different than what we see on the Samsung Galaxy Nexus, or other devices running previous versions of Android, it's not broken at all -- HTC has just tweaked it. Like everything else in the Android source code, the way the kernel and system free memory from background tasks is wide open and subject to the whim of whoever does the software building. In this case, it's an area we're pretty familiar with, and something we've been hacking at since the days of the lowly HTC Hero -- the minfree settings and kernel low memory killer. 

What's happening is that the settings have been adjusted to keep more memory free for Sense 4 to gobble up, at the expense of applications running in the background. It's not a big edit, but with the One X's big screen and Sense 4's big footprint, it's a big enough edit to force things to close in the background more aggressively than we're used to seeing. Apps that have a bit of priority (ranging from the important things like the phone dialer to the less-important like the music player) seem to act just fine, but bigger applications, like Chrome beta for example, seem to suspend and need to re-open whenever they are returned to from the application switching menu.

For the more nerdly among us, I've looked and found one set of changes in the One X's boot image. The Stock AOSP build of 4.0.4 writes these values to the minfree settings:

8099, 10132, 12165, 14213, 16245, 20295

The AT&T HTC One X uses these settings (as we're using the system, anyway):

7746, 9720, 11694, 13742, 15715, 24709

Our Tegra 3 version of the HTC One X is showing the following, again, as we're using the system:

8192, 10240, 12288, 14336, 16384, 20480

It's very likely that there are other changes in the kernel source as well. 

The real issue here is that it's different than what we're used to seeing. Many seem not to like it, and would prefer the "old way". If you're riding the root train, that's a possibility -- our own Senior Developer Beezy is looking at things, and working on a few edits. If you're not into hacking your device, you're going to have to realize that HTC has built the One X their way. It's not wrong, it's just not stock Android.

Source: Android Central forums

 

Reader comments

Multitasking on the HTC One X isn't broken, it's customized

54 Comments

Easy fix:

Get a Home Manager.
Get a Aftermarket Launcher.
Set Home Manager to Autokill Sense.
Set new Launcher as default.

Play with phone for awhile.
Reboot if necessary.

Check RAM usage in the Home Manager.

Sense on average should take up less than 75mb of RAM, compared to over the 200mb it normally takes up.

(Multitasking will have major improvements)

I just cant comprehend why HTC wouldn't have recognized this "problem" with sense and built the hardware accordingly. If sense needed more than they should have done so.

Just a question but do you think that Touchwiz is better?
I feel like it is less resource heavy compared to sense.
Old versions of sense just feel like mud.

I flashed a ported version of CM9 to my One x and can confirm the multitasking issue is not there, so it because of sense crap that HTC has added.

Hopefully a fix will be found, because i cannot deal with it, its an absolute joke that a high end phone can't multitask.

I fail to see how not being able to multitask is not the wrong way ? Next we'll have a camera app that forces closes and have an article here saying "its different, not wrong"

I also fail to see why HTC has been given such a high praise for this device on this site when i have had nothing but problems, Phils battery article was clear he has about 30 mins of screen on time. The battery is terrible on this phone.

Wait, you replaced EVERY SINGLE THING on your phone and you can pinpoint the cause of the problem?
Shotgun much?

Its the only rom that fixes the issue - i doubt its a coincidence that its the only one that doesn't contain the sense framework either.

Id keep it on but like most versions of CM9, it barely works.

But as I pointed out elsewhere, simply avoiding webkit eliminates the problem of app reloads until you get to a state of actual memory exhaustion. Its not a Sense problem, its anything to do with webkit.

Agreed!

As a former Pre+ owner, I can say that the one thing I really miss about WebOS was not all the UI that people fawn over, it was truely that apps opened in the background stayed open until you closed them.

I'm sure some people think it is backwards, but I'd rather the system tell me I don't have enough memory to open the newest app I'm trying to open (until I close another app) than just have the system killing apps in the background.

That said, I would prefer it even more if the system was efficient enough that it could handle 4 or 5 RAM-heavy apps open at the same time. So this issue would happen only very rarely.

-Suntan

Didnt HTC go on record saying they didnt have much time to develop Sense for ICS? Why do this change then. App switching works very well already on stock ICS on my Gnex. I had two Evos and like HTC but sense wasnt too great IMO.

I dont have a prob with it, I thought their would be more noise about the major battery overheating especially when charging. Yes even after the ota.

Im pretty sure Jerry is on the wrong track here.

If you substitute firefox for the stock browser and avoid ANY application that uses webkit (which includes Pulse, by the way) and you can switch between many apps for a long time. Even big apps. Office suites.

But launch one webkit app, and it's like every other app's cache is poisoned and they are forced to reload.

But eventually you will see some apps reload as memory is exhausted.

Stay away from webkit. That's what HTC broke, not multitasking in general.

Very interesting, thanks for the info. Been playing around with this and I have to agree, the WebKit browser does seem to cause more reloads, and not just in itself. Even Chrome Beta, which uses more RAM in general does not force as many reloads. Has this issue been analyzed in depth somewhere?

While it may not be "broken", it is definitely causing the phone to be damn near "unusable" by any consumer who wants to do more than one thing at a time, or just simply wants to minimize something for one minute and come back to it the next. I see AT&T getting a sh*t-ton of returns from unknowing customers claiming there is something wrong with their phones. I don't whether to feel sorry for HTC or AT&T, but I definitely feel sorry for the consumers.

Frankly, this just sounds like a bunch of nit-picking to me. Is this really an "issue" for people?

Hell, if this is the biggest fault with the phone, I'd say it's a pretty good phone then.

Jerry, can I ask you how much free RAM is on the One X when this situation is happening? If it's <100MB, and you're not even running that much, then you're right, and there's tons of bloat in Sense. If it's more like 300-500MB, which I think is going to be the case, then I'd say HTC's ways are indeed broken.

You should be able to switch between 2 adjacent apps (and ideally a lot more than 2) without having each one restart. If that's not happening, then HTC is interfering (and thus breaking by all of my standards) with the way things should work.

The 2gb ram in that one LG doesn't sound so much now, does it?
I don't mind the bells & whistles, just crank up the specs, man

I can see how annoying that can be. It isn't broken, but that's far from ideal. Isn't that sort of app reloading a major criticism of Windows Phone?

The real issue I had with Sense is how unnecessary it became over the past few years. Back in the Eclair days, Sense filled in some functionality holes and gave Android some style. Now, it just isn't necessary.

When the iPhone didn't have multitasking (other than phone, music, safari etc) EVERY android blog would be like "oooh iOS sucks it doesn't have multitasking". When HTC "removes" multitasking from the One X it is just "different". You guys can be such hypocrites sometimes!

Same goes for physical keyboard (most phones don't have it now), removable batteries and SD cards. Sure, some people still refuse to buy a phone without these features, but when all android phones had them it was the coolest thing in the world and now most of the people who defended them don't miss them at all!

Then you say people who like iOS are fanboys! There are millions of "fandroids" out there!

P.S.: I have nothing against android, I have a GNEX and I like it (I don't LOVE it because my favorite game - Asphalt 6 - is not compatible, which REALLY pisses me off), but it's just annoying how android fans defend their OS and their phones and its features, but when companies like HTC removes them it's just ok.

P.S2.: Does anyone here know what "P.S" stands for??????? I'm not american :S

There are, of course, "fandroids" because people love their Androids, but the truth is, a lot of people DO miss the features you mentioned. It was not OK for HTC to remove these features. Some people decided to deal with it, and others didn't like it and did not buy the device. The negativity is usually masked with the coverage of the newness of the phone. In the end, I hope HTC does not leave out a removal battery and sd card.

P.S. "PS" means post script. It's from a latin word, "post scriptum" that means "written after". :)

Yeah, I guess people have to deal with some drawbacks if the advantages make it worth.
And also, thanks for the info on the "P.S" thing :)

You seriously don't see the difference between a phone that did not have any multi tasking to speak of and a phone that has aggressive memory management. I would say do some research but since you asked what PS stands for I assume you don't know how to use the internet.

Edit: Not to mention this is a Sense issue, and not an Android issue.

I have an HTC One X. It is actually far worse than the iPhone because it's not saving positions in apps and cutting off things like music and streaming media. It's bad enough that HTC almost would have made more sense just eliminating the card multitasking entirely. It's like Windows Phone 7 right now.

It is broken, plain and simple. You leave an app, come back a second later, and it's not how you left it. That is broken. Maybe if every app saved and resumed state PERFECTLY you wouldn't even be able to tell, but that is simply not the case. Since Android does not have special background APIs like iOS and Windows Phone, apps have an expectation to be able to continue executing code even when they're not visible. HTC has ruined this. The icon in the notification bar technique is supposed to only work as a "request" to the OS to not be killed, not as a requirement for being able to run code in the background.

This just proves that Sense is NOT nice and light on its feet like all the reviews mistakenly claimed (without really looking into it at all, probably just eating up HTC's marketing material). It's not really any better than before and is still significant bloat on the phone.

Really makes me wonder if these companies consider getting more input from users. Oh wait, HTC did get "input" from people saying battery didn't matter. Maybe they need new test subjects.

Guess HTC didn't completely get the memo that Sense is too big if they have to tweak the kernel like this to get Sense 4 to behave, If your going to insist on such a bloated sense throw in 2GB of ram like LG has in a few new phones.

This is why when I do buy an HTC phone I run either a desensed rom or AOSP, sense just is too much of a hog and apparently they haven't really learned anything.

customized? what the hell are you talking about? the phone cannot multitask anything. Reviewers missed a basic android functionality. I bought the phone based on the reviews I read at android central and I regret it. About to return the phone is HTC cannot come clean on this issue.

customized? what the hell are you talking about? the phone cannot multitask anything. Reviewers missed a basic android functionality. I bought the phone based on the reviews I read at android central and I regret it. About to return the phone is HTC cannot come clean on this issue.

I'm sorry Jerry, but customized??? Borked is a better word. If the International version is running the same Sense 4.0 as the AT&T and has the same amount of memory (supposedly but I think the AT&T versin actually has about 670 MB) why doesn't it do this too?

Another condescending op-ed from the all knowing AC staff. When will we learn that we are all idiots and that however the phone behaves is how it was supposed to behave. However fragmented Android becomes is exactly to the grand plan and that anybody who thinks a CDMA Nexus is not pure AOSP is clearly mis-informed.

Can't wait for my next lesson.

Based on the headline, I thought the author is trying to be ironic, mocking the official line from the manufacturer, but this article instead is dismissive of the issue, and worse, of the users who think it's important. For an enthusiast's site, this attitude is a sure way to chase away your core audience. BTW, glad you pointed out the previous CDMA Nexus articles, same thing. Even Google has acknowledged how poorly handled that device's launch has been.

I don't see why it can't be both really. HTC customized it to the point of being broken it sounds like. They aren't mutually exclusive.

This is the same exact reason why I ditched my HTC Sensation. I bought it based on the many glowing reviews on many sites, including Android Central. They all said that Sense was ubber-refined, lightweight, and added many cool features to Android. When using the phone on a day-to-day basis, I noticed the same issues as the HTC One X, apps closing in the background because Sense needed the memory.

You think it's bad on the One X? Consider that Sense 4.0 has been "lightened" compared to the more bloated Sense 3.0. Yet the Sensation only had 512 MB RAM!! So switching back to the home screen would constantly generate a "Loading" screen while Sense reloaded as it still didn't have enough memory despite dominating all the memory on the device!

So it looks like HTC is still up to its old dirty tricks in order to give its fancy Sense OS priority. My Galaxy Nexus is not perfect (go search the forums lol) but at least I can literally have so many apps open in the background that my thumb aches as I scroll through my four-apps-viewable-at-a-time vertical list of recent apps and swipe them left or right off the screen to kill them. I have found apps on there that I haven't used in a day or two.

It may not sound like a big deal, but it's highly convenient to be typing something in the browser or viewing search results, get a phone call, type a text message, add something to the calendar, check out a scanned document Docs, and then hop back to the browser and continue typing in the browser right where you left off.

I've tolerated a lot of the "your problem isn't really a problem" articles here, but this is the worst. Yes, they customized the kernel, but if you can't multitask it is broken. Period. I don't care if it is caused by kernel edits, Sense, webkit, or magical apple-fanboy unicorns. It's broken.

It seems Android Central has gotten really good at making excuses for the problems that plague the OS. Don't get me wrong, I love Android and don't see myself switching anytime soon, but the only difference between Android Central's fanboynessossity and every other Android blog out there is that Android Central wraps theirs in a condescending "well duhhhhh" attitude. "If you don't agree with us you just don't get it." "You're mad about not getting updates, it's cool, you don't have an Android phone you have a Sense phone, see no problem with Android here" etc etc.

It has honestly gotten pretty annoying as of late. They do such a good job of looking down on the rest of the Android Blog community when in reality they are little better. Oh, you withhold articles for a few days to make sure you get every detail exactly right. Good for you, it doesn't make you better it just makes you slow.

I don't think Jerry understands what "broken" means. If multitasking doesn't work... IT'S BROKEN. If they are always closing apps when you switch, that isn't multitasking. The only things I've seen run properly in the background are apps that ALWAYS run properly in the background. But I should be able to switch from my game to the browser and back to the game. If I can't, it's broken.

If your customers all say the feature is broken and you say "no, no, see, that's how we designed it" do you really think they're going to get your next product? HTC needs to fix it.

Although "it's not broken, it's a feature" is a tough pill to swallow it does make sense what our neckbearded friend is saying. In fact when I heard about multitasking issues I immediately thought that the size of Sense could be the culprit.

If this were not in place would the phone just stutter and lag while switching (the way it happens on my old phone) or would it result in force closing/crashing?
If it's just to avoid some UI hiccups I think HTC could allow users to disable this "feature".

IF it's just to improve the smoothness of the UI HTC really is seeming more and more Apple-like every day. If not - it's a great reason to dump Sense as a user.
I'm certain there are crafty devs out there somewhere figuring out how to "fix" this feature (although having a locked bootloader isn't going to help matters).

It's interesting that this never came up in any of the dozens of glowing reviews these phones have received. My guess is the reviewers never need to download a document from work while using Google navigation while listening to some tasty jams?

Its a huge problem. It doesn't allow for standard web verification
Soon as I put the browser in the background to retrieve my emailed passcide or verification email I have lost my spot to enter my retrieve number in the browser. That's broken! Period. To be in this business and try to say its not broken makes you look pretty lame dude.