Android 7.0 Nougat có gì mới!!
Mới đây Google vừa release phiên bản Android 7.0 với tên chính thức là Nougat. Vậy chúng ta cùng xem Nougat có gì mới. 1. Hỗ trợ Multi-window Trong Android 7.0 một tính năng rất được mong đợi đã được đưa vào chính là Multi-window (một trong những tính năng đã được phát triển bởi samsung trên ...
Mới đây Google vừa release phiên bản Android 7.0 với tên chính thức là Nougat. Vậy chúng ta cùng xem Nougat có gì mới.
1. Hỗ trợ Multi-window
Trong Android 7.0 một tính năng rất được mong đợi đã được đưa vào chính là Multi-window (một trong những tính năng đã được phát triển bởi samsung trên các dòng máy cao cấp của họ giờ đã chính thức được đưa vào Android 7.0)
Giờ đây người dùng đã có thể cùng lúc mở 2 ứng dụng trên màn hình cùng một lúc.
- Trên điện thoại hoặc tablets sử dụng Android 7.0 người dùng có thể chạy 2 ứng dụng song chia dọc màn hình hoặc thằng trên thằng dưới - tóm lại là chia màn hình thành hai phần splitscreen mode. Người dùng có thể thay đổi kích thước của từng màn hình ứng dụng bằng cách kéo đường chia cắt giữa chúng.
- Trên các thiết bị Android TV, ứng dụng có thể được đặt vào chết độ hình - trong - hình (picture - in - picture mode), điều này cho phép chúng có thể tiếp tục hiển thị nội dung trong khi người dùng có thể tương tác với ứng dụng khác.
Đây là một tính năng mới khá hay, nó giúp người dùng có thể tăng khả năng trải nghiệm, thật là thích khi vừa xem phim lại vừa chat một cách thoải mái mà ko phải chuyển qua chuyển lại 2 ứng dụng. Nhưng nó chỉ thực sự đẹp và hiệu quả nhất trên tablets hay TV, chứ còn trên điện thoại dù là dòng Note màn to, thì khi màn hình bị chia 2 thì màn ứng dụng khá là bé, thao tác thực sự không được thoải mái, và khá là tù, tuy nhiên để đọc báo và chat messenger thì có vẻ vẫn rất là ok.
2. Cải tiến Notification
Trong Android 7.0, notification đã được thiết kế lại, để có thể dễ dàng sử dụng hơn, nhanh hơn. Những thay đổi bao gồm:
- Cập nhật mẫu: Nhiều mẫu notification đã được cập nhật để tạo sự nhấn mạnh mới về hình ảnh và ảnh đại điện. Developers có thể tận dụng lợi thế của các mẫu mới và thực hiện một số điều chỉnh nhỏ trong code.
- Tùy biến style Messaging: Bạn có thể tùy biến nhiều hơn về giao diện người dùng với các thông báo bằng cách sử dụng lớp lớp MessagingStyle. Bạn có thể tùy chỉnh tin nhắn, tiêu đề hội thoại, và xem nội dung.
- Gộp thông báo: Hệ thống có thể nhóm các thông báo lại với nhau, ví dụ: nhóm các thông báo theo chủ đề và hiển thị chúng theo group. Người dùng có thể thực hiện các hành động như Xóa bỏ hoặc Lưu thông báo ngay tại chỗ.
- Trả lời trực tiếp: Đối với các ứng dụng truyền thông, xã hội thời gian thực, hệ thống Android hỗ trợ việc trả lời trực tiếp nhanh chóng tin nhắn SMS hoặc tin nhắn văn bản ngay trên giao diện thông báo.
- Dạng xem tùy chỉnh: Hai API mới cho phép bạn tận dụng các trang trí hệ thống, chẳng hạn như tiêu đề thông báo và hành động, khi sử dụng dạng xem tùy chỉnh trong thông báo.
3. Profile-guided JIT/AOT Compilation
Android 7.0 đã được thêm một trình biên dịch Just in Time (JIT) có mã được cấu hình cho ART, nó cho phép nâng cao hiệu suất của các ứng dụng Android khi chạy. Trình biên dịch JIT bổ trợ thêm cho trình biên dịch Ahead of Time (AOT) và giúp cải thiện hiệu suất thời gian chạy, tiết kiệm không gian lưu trữ, và tăng tốc độ cập nhật ứng dụng và cập nhật hệ thống. Trình biên dịch Profile-guided cho phép ART quản lý trình biên dịch AOT/JIT cho mỗi ứng dụng theo cách sử dụng thực tế của nó, cũng như điều kiện thiết bị. Ví dụ: ART duy trì một cấu hình cho các phương thức của ứng dụng, và có thể tiền biên dịch rồi tạo bộ nhớ đệm cho các phương thức đó hoạt động với hiệu suất cao hơn. Những phần khác của ứng dụng sẽ được giữ nguyên không biên dịch cho đến khi chúng được sử dụng.
Bên cạnh việc cải thiện hiệu suất cho các phần chính của ứng dụng, trình biên dịch profile-guided còn giúp làm giảm lượng RAM tổng thể của một ứng dụng, bao gồm cả các chương trình liên quan. Đây là một tính năng được biệt quan cho trên các thiết bị có bộ nhớ thấp.
ART quản lý trình biên dịch profile-guided bằng cách giảm thiểu tác động tối đa đến pin của điện thoai. Nó sẽ tiền biên dịch khi các thiết bị đang ở trạng thái idle và sạc, tiết kiệm thời gian và pin bằng cách thực hiện công việc đó trước.
4. Cài đặt ứng dụng nhanh
Một trong những lợi ích dễ thấy nhất của trình biên dịch JIT của ART đó là tốc độ cài đặt ứng dụng và cập nhật hệ thống. Ngay cả những ứng dụng lớn cần đến vài phút để tối ưu hóa và cài đặt trong Android 6.0 thì bây giờ có thể cài đặt chỉ trong vài giây, cập nhật hệ thống của nhanh hơn rất nhiều.
5. Chế độ ngủ sâu (Doze) khi di chuyển
Doze đã được giới thiệu trong Android 6.0, đó là một chế độ tiết kiệm pin bằng cách giới hạn hoạt động CPU và mạng của ứng dụng khi thiết bị đang ở trạng thái idle, chẳng hạn khi thiết bị được đặt trên bàn hoặc trong ngăn kéo.
Bây giờ trên Android 7.0, Doze được cải tiến một bước xa hơn và tiết kiệm pin ngay cả khi đang di chuyển. Bất cứ lúc nào màn hình được tắt trong một khoảng thời gian và thiết bị không được cắm sạc, Doze áp dụng một subset của CPU và mạng thân thuộc hạn chế lên các ứng dụng. Điều này có nghĩa là người dùng có thể tiết kiệm pin ngay cả khi mang thiết bị của họ trong túi và di chuyển.
Một thời gian ngắn sau khi màn hình tắt trong khi thiết bị đang chạy pin, Doze hạn chế truy cập mạng, trì hoãn công việc và đồng bộ. Trong các khoảng thời gian bảo trì ngắn, các ứng dụng được phép truy cập mạng và bất kỳ công việc/đồng bộ bị trì hoãn được thực hiện. Bật màn hình lên hoặc cắm sạc để có thể out khỏi chế độ Doze.
Khi thiết bị được để cố định một lần nữa với màn hình tắt và pin trong một khoảng thời gian, Doze sẽ áp dụng hạn chế tối đa CPU và mạng trên PowerManager.WakeLock, AlarmManager alarms, and GPS/Wi-Fi scans.
6. Project Svelte: Tối ưu hóa chạy ngầm
Project Svelte là một nỗ lực không ngừng để giảm thiệu bộ nhớ RAM của hệt hống và các ứng dụng trên nhiều thiết bị Android trong hệ sinh thái. Trên Android 7.0, Project Svelte được tập trung vào việc tối ưu hóa các ứng dụng chạy ngầm.
Tiến trình chạy ngầm là một phần thiết yếu của hầu hết các ứng dụng. Khi được xử lý đúng, nó có thể mang lại cho người dùng một trải nghiệm tuyệt vời - ngay lập tức, nhanh chóng và nhận biết ngữ cảnh. Khi không được xử lý đúng, tiến trình chạy ngầm có thể tiêu hao RAM (và pin) và ảnh hưởng đến hiệu suất hệ thống cho các ứng dụng khác.
Từ Android 5.0, JobScheduler đã được sử dụng trong việc xử lý tiến trình chạy ngầm như một cách tốt cho người sử dụng. Ứng dụng có thể sắp xếp công việc trong khi để cho hệ thống tối ưu hóa dự trên bộ nhớ, power và điều kiện kết nối. JobScheduler cung cấp kiểm soát và đơn giản, và chúng ta muốn tất cả các ứng dụng để sử dụng nó.
Có một lựa chọn tốt khác là GCMNetworkManager, một phần của Google Play Services, nó cung cấp một lịch trình công việc tương thích với khả năng trên các phiên bản kế thừa của Android.
Chúng tôi đãng tiếp tục kế thừa JobScheduler và GCMNetworkManager để đáp ứng nhiều hơn các trường hợp sử dụng của người dùng. Ví dụ, trong Android 7.0 bạn có thể lên lịch trình cho tiến trình chạy ngầm dựa trên những thay đổi trong Content Providers. Đồng thời, chúng tôi đang bắt đầu không chấp nhận một số mẫu cũ có thể làm giảm hiệu năng của hệ thống, đặc biệt là trên các thiết bị thấp.
Trên Android 7.0, 3 broadcast thông dụng sẽ bị loại bỏ là CONNECTIVITY_ACTION, ACTION_NEW_PICTURE, ACTION_NEW_VIDEO - do chúng có thể đánh thức cùng một lúc nhiều tiến trình chạy ngầm của các ứng dụng liên quan, để bộ nhớ lên và gây tiêu hao pin. Nếu ứng dụng của bạn đang lắng nghe những broadcast đó, thì hãy tận dụng lợi thế của Android 7.0 chuyển sang sử dụng JobScheduler và các API có liên quan để thay thế.
7. Data Saver
Suốt vòng đời của một thiết bị di động, thì chi phí gói dữ liệu di động thường vượt quá chi phí cho chính thiết bị đó. Đối với nhiều người sử dụng, dữ liệu di động là một nguồn tài nguyên khá đắt đỏ mà người dùng rất muốn tiết kiệm.
Trên Android 7.0 giới thiệu chế độ tiết kiệm dữ liệu - Data Saver mode, một dịch vụ hệ thống mới giúp giảm việc sử dụng dữ liệu di động của các ứng dụng, cho dù chuyển vùng, gần cuối chu kỳ thanh toán, hoặc trên một gói dữ liệu nhỏ trả trước. Data Saver cho phép người dùng kiểm soát ứng dụng sử dụng dữ liệu như thế nào và cho phép các nhà phát triển cung cấp dịch vụ hiệu quả hơn khi Data Saver được bật. Khi người dùng bật chế độ Data Saver trong Cài đặt và thiết bị bật một đồng hồ đo lưu lượng mạng, thì các khối hệ thống nền và các tín hiệu của ứng dụng sẽ dử dụng ít dữ liệu hơn khi ở foreground bất cứ khi nào có thể. Chẳng hạn như bằng các hạn chế tốc độ bit cho streaming, giảm chất lượng hình ảnh, trì hoãn precaching. Người dùng có thể tạo Whitelist để cho phép các ứng dụng sử dụng dữ liệu nền ngay cả khi Data Saver được bật.
Android 7.0 kế thừa ConnectivityManager để cung cấp cho các ứng dụng một cách lấy dữ liệu và theo dõi sự thay đổi đó. Tất cả các ứng dụng nên được kiểm tra xem đã được kích hoạt Data Saver để hạn chế tối đa dữ liệu sử dụng.
8. Vulkan API
Android 7.0 tích hợp Vulkan™ vào nền tảng - một render 3D API mới. Giống như OpenGL™ ES, Vulkan là một chuẩn mở cho đồ hoạ 3D và rendering được duy trì bởi Khronos Group. Vulkan được thiết kế từ ground up để giảm thiểu chi phí CPU trong trình điều khiển, và cho phép ứng dụng kiểm soát GPU trực tiếp hơn. Vulkan cũng cho phép chạy song song tốt hơn bằng cách cho phép nhiều luồng thực hiện công việc như xây dựng lệnh đệm cùng một lúc.
Vulkan development tools and libraries được tích hợp vào Android 7.0 bao gồm:
- Headers
- Validation layers (debug libraries)
- SPIR-V shader compiler
- SPIR-V runtime shader compilation library
Vulkan chỉ tương thích với các ứng dụng trên những thiết bị với phần cứng Vulkan-capable như Nexus 5X, Nexus 6P, Nexus Player. (API document)
9. Quick Settings Tile API
Cài đặt nhanh là một cách phổ biến và đơn giản để hiển thị các thiết lập và hành động chính một cách trực tiếp từ màn hình thông báo. Trong Android 7.0, Cài đặt nhanh đã được thiết kế để nó thực sự hữu ích và thuận tiện hơn.
Vùng cài đặt nhanh không những đã được mở rộng hơn, mà còn được thiết kế phân trang, người sử dụng có thể quẹt trái phải - trái phải để truy cập. Đồng thời màn hình cài đặt nhanh mới cũng cung cấp thao tác kéo thả cho người dùng, việc này cho phép người sử dụng có thể sắp xếp một cách hợp lý các thiết lập hay sử dụng, tạo sự thuận tiện. (Mấy cái này một số hãng như Samsung phát triển lâu rồi