Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Every single phone in existence running Android blanks the screen.

It can be hidden by frankly disgusting animations where they do things like squish a screenshot of your current screen to hide it, but the literal UI is being tore down on every rotation.

As you can imagine that's a pain in the ass to deal with on the app side, and until relatively recently the framework did a poor job providing support for handling it all. It's a very common cause of app crashes too.

(To really get technical, apps can opt out of this... but doing so means you'd need to reimplement the entire view stack and rotation yourself, which doesn't happen for anything but video games)



I know what you're referring to but Apple made this experience worse by disabling rotation in iOS on the home screen altogether.

Of course most people don't notice because they unlock the phone with Face ID and usually don't stay on the home screen for too long, but still - if you push the home button when in horizontal mode you're presented to a rotated screen.

As for RAM: I was surprised to note that my phone has in fact 4GB of it (always thought it was 2GB), because apps get suspended all the time. It appears that at least on Android that was a sound design decision.


My several years old Samsung doesn't blank the screen.

Android indeed does tear down the activity and creates a new one with different rotation and size; but activity is not the framebuffer currently displaying. Recreating the activity does not imply blanking screen.


Some people like to play games with semantics, but I say you lose the right if you can't get the basic details right...

You're saying "activity is not the framebuffer currently displaying", which is a completely nonsensical statement. The framebuffer does not change: the Surface Flinger is bound the the framebuffer and that's not changing during a rotation.

Tearing down the activity and creating a new one is literally blanking the screen as far as the activity is concerned: removing all views on the activity surface and adding brand new ones.

If you were to look at the activity in a view debugger frame by frame you'd get... a blank screen.

You could poll the WindowManager and there's... no views.

_

There's all sorts of ugly hacks to hide that fact, but at the end of the day supporting seamless transitions across rotations is something that dates back to iOS 3.

It's an artifact of the literal first Android phone that ended up causing pain for developers and instability for end users in perpetuity. Google simply is not product driven in a way that will ever allow them to match Apple. No UX obsessed company would have allowed that mess to go on as long as it has.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: