[Android] Xử lý "Orientation changes"
Nếu bạn là một Android Developer, thì ắt hẳn việc xử lý xoay màn hình là một vấn đề rất quen thuộc khi phát triển ứng dụng. Lúc đầu mới làm về Android mình cũng chẳng thèm quan tâm đâu nhưng dần mình thấy đây thực sự là một vấn đề rất đáng quan tâm nếu bạn để ý đến trải nghiệm người dùng. Trong ...
Nếu bạn là một Android Developer, thì ắt hẳn việc xử lý xoay màn hình là một vấn đề rất quen thuộc khi phát triển ứng dụng. Lúc đầu mới làm về Android mình cũng chẳng thèm quan tâm đâu nhưng dần mình thấy đây thực sự là một vấn đề rất đáng quan tâm nếu bạn để ý đến trải nghiệm người dùng.
Trong bài viết này mình sẽ nói về các tình huống gặp phải xung quanh sự kiện xoay màn hình cũng như khi cấu hình thiết bị thay đổi. Mong rằng có thể giúp bạn giải quyết được các vấn đề này dễ dàng hơn.
Thông thường, khi sự kiện xoay màn hình diễn ra, Android sẽ khởi tạo lại Activity (onDestroy sẽ được gọi, sau đó là onCreate). Hành vi khởi động lại được thiết kế để giúp ứng dụng điều chỉnh phù hợp với cấu hình mới của thiết bị. Tuy nhiên đôi khi việc này sẽ tạo nên trải nghiệm không tốt cho người dùng(ví dụ video đang xem sẽ bị tải lại, kết nối mạng bị hủy và khởi tạo lại tốn thời gian,...). Vì vậy dưới đây là một số cơ chế của Android để khắc phục các vấn đề này :
1. Cấu hình cố định 1 hướng cho Activity
android:screenOrientation
Khi xoay màn hình là vấn đề của bạn thì đơn giản bạn chỉ cần không cho màn hình ứng dụng của mình xoay theo hướng của thiết bị nữa phải không