Android 4.3
Chào mừng bạn đến với Android 4.3, phiên bản thú vị hơn của Jelly Bean!
Android 4.3 có các tính năng tối ưu hoá hiệu suất và các tính năng mới tuyệt vời dành cho người dùng cũng như nhà phát triển. Tài liệu này cung cấp thông tin tổng quan về những tính năng mới dành cho nhà phát triển.
Xem tài liệu về API Android 4.3 để biết thông tin chi tiết về các API mới dành cho nhà phát triển.
Tìm hiểu thêm về các tính năng mới của Jelly Bean dành cho người dùng tại www.android.com.
Nhanh hơn, mượt mà hơn, phản hồi nhanh hơn
Android 4.3 được xây dựng dựa trên các điểm cải tiến về hiệu suất đã có trong Jelly Bean – thời gian vsync, độ trễ ba lần, giảm độ trễ cảm ứng, tăng cường đầu vào cho CPU và kết xuất 2D tăng tốc phần cứng – đồng thời bổ sung các tính năng tối ưu hoá mới giúp Android trở nên nhanh hơn.
Để tăng hiệu suất đồ hoạ, trình kết xuất 2D được tăng tốc phần cứng hiện tối ưu hoá luồng lệnh vẽ, chuyển đổi định dạng đó thành một định dạng GPU hiệu quả hơn bằng cách sắp xếp lại và hợp nhất các thao tác vẽ. Đối với quá trình xử lý đa luồng, trình kết xuất giờ đây cũng có thể sử dụng tính năng đa luồng trên nhiều lõi CPU để thực hiện một số tác vụ.
Android 4.3 cũng cải thiện khả năng hiển thị hình dạng và văn bản. Các hình dạng như hình tròn và hình chữ nhật bo tròn góc hiện được hiển thị ở chất lượng cao hơn một cách hiệu quả hơn. Các tính năng tối ưu hoá văn bản bao gồm tăng hiệu suất khi sử dụng nhiều phông chữ hoặc bộ ký tự phức tạp (CJK), chất lượng kết xuất cao hơn khi chuyển tỷ lệ văn bản và hiển thị bóng đổ nhanh hơn.
Cải thiện tính năng phân bổ vùng đệm cửa sổ giúp phân bổ vùng đệm hình ảnh nhanh hơn cho ứng dụng, giảm thời gian cần thiết để bắt đầu kết xuất khi tạo cửa sổ.
Đối với đồ hoạ có hiệu suất cao nhất, Android 4.3 hỗ trợ OpenGL ES 3.0 và giúp các ứng dụng có thể truy cập vào đồ hoạ thông qua cả API khung và API gốc. Trên các thiết bị được hỗ trợ, công cụ kết xuất hình ảnh 2D đã tăng tốc phần cứng tận dụng OpenGL ES 3.0 để tối ưu hoá việc quản lý kết cấu và tăng độ trung thực của kết xuất chuyển màu.
OpenGL ES 3.0 cho Đồ hoạ hiệu suất cao
Android 4.3 giới thiệu tính năng hỗ trợ nền tảng cho Khronos OpenGL ES 3.0, giúp các trò chơi và ứng dụng khác có khả năng đồ hoạ 2D và 3D hiệu suất cao nhất trên các thiết bị được hỗ trợ. Bạn có thể tận dụng OpenGL ES 3.0 và các tiện ích EGL có liên quan bằng cách sử dụng API khung hoặc liên kết API gốc thông qua Bộ phát triển gốc Android (NDK).
Các chức năng chính mới được cung cấp trong OpenGL ES 3.0 bao gồm tăng tốc hiệu ứng hình ảnh nâng cao, nén hoạ tiết ETC2/EAC chất lượng cao làm tính năng tiêu chuẩn, phiên bản mới của ngôn ngữ đổ bóng GLSL ES có hỗ trợ dấu phẩy động số nguyên và 32 bit, kết xuất hoạ tiết nâng cao, kích thước hoạ tiết chuẩn và định dạng bộ đệm kết xuất.
Bạn có thể sử dụng API OpenGL ES 3.0 để tạo đồ hoạ phức tạp, hiệu quả cao, chạy trên nhiều thiết bị Android tương thích, đồng thời hỗ trợ một định dạng nén hoạ tiết chuẩn duy nhất trên các thiết bị đó.
OpenGL ES 3.0 là một tính năng không bắt buộc, phụ thuộc vào phần cứng đồ hoạ cơ bản. Các thiết bị Nexus 7 (2013), Nexus 4 và Nexus 10 hiện đã có dịch vụ hỗ trợ.
Kết nối Bluetooth nâng cao
Kết nối với các cảm biến và thiết bị Bluetooth thông minh
Giờ đây, bạn có thể thiết kế và xây dựng các ứng dụng tương tác với các cảm biến cũng như thiết bị nhỏ, công suất thấp thế hệ mới nhất sử dụng công nghệ Bluetooth thông minh.
![](https://developer.android.google.cn/static/images/jb-btle.png?authuser=19&hl=vi)
Android 4.3 cung cấp cho bạn một API tiêu chuẩn duy nhất để tương tác với các thiết bị Bluetooth Smart.
Android 4.3 giới thiệu dịch vụ hỗ trợ nền tảng tích hợp cho tính năng Sẵn sàng thông minh Bluetooth trong vai trò trung tâm, đồng thời cung cấp một bộ API tiêu chuẩn mà ứng dụng có thể dùng để khám phá các thiết bị ở gần, truy vấn dịch vụ GATT cũng như đọc/ghi các đặc điểm.
Với các API mới, ứng dụng của bạn có thể quét các thiết bị và dịch vụ mà bạn quan tâm một cách hiệu quả. Đối với mỗi thiết bị, bạn có thể kiểm tra các dịch vụ GATT được hỗ trợ bằng UUID và quản lý các kết nối theo mã thiết bị cũng như cường độ tín hiệu. Bạn có thể kết nối với một máy chủ GATT được lưu trữ trên thiết bị và đọc/ghi các đặc điểm, hoặc đăng ký một trình nghe để nhận thông báo bất cứ khi nào các đặc điểm đó thay đổi.
Bạn có thể triển khai dịch vụ hỗ trợ cho mọi hồ sơ GATT. Bạn có thể đọc hoặc ghi các đặc điểm tiêu chuẩn hoặc thêm tính năng hỗ trợ cho các đặc điểm tuỳ chỉnh nếu cần. Ứng dụng của bạn có thể hoạt động như máy khách hoặc máy chủ, đồng thời có thể truyền và nhận dữ liệu ở một trong hai chế độ. Đây là các API chung, vì vậy, bạn sẽ có thể hỗ trợ tương tác với nhiều thiết bị, chẳng hạn như thẻ độ gần, đồng hồ, đồng hồ đo thể chất, tay điều khiển trò chơi, điều khiển từ xa, thiết bị sức khoẻ, v.v.
Tính năng Bluetooth Smart Sẵn sàng hỗ trợ đã có trên các thiết bị Nexus 7 (2013) và Nexus 4, đồng thời ngày càng nhiều thiết bị tương thích với Android sẽ được hỗ trợ trong những tháng tới.
Cấu hình AVRCP 1.3
Android 4.3 bổ sung tính năng hỗ trợ tích hợp cho Bluetooth AVRCP 1.3, để các ứng dụng của bạn có thể hỗ trợ nhiều hoạt động tương tác phong phú hơn với các thiết bị phát trực tuyến nội dung nghe nhìn phát trực tuyến từ xa. Các ứng dụng như trình phát nội dung đa phương tiện có thể tận dụng AVRCP 1.3 thông qua API ứng dụng điều khiển từ xa được giới thiệu trong Android 4.0. Ngoài việc để hiện bộ điều khiển chế độ phát trên thiết bị từ xa được kết nối qua Bluetooth, các ứng dụng hiện có thể truyền siêu dữ liệu như tên bản nhạc, trình soạn nhạc và các loại siêu dữ liệu nội dung nghe nhìn khác.
Tính năng hỗ trợ nền tảng cho AVRCP 1.3 được xây dựng dựa trên ngăn xếp Bluetooth Bluedroid do Google và Broadcom giới thiệu trong Android 4.2. Các dịch vụ hỗ trợ có sẵn ngay trên các thiết bị Nexus và các thiết bị khác tương thích với Android có tính năng A2DP/AVRCP.
Hỗ trợ cho Hồ sơ bị hạn chế
![Thiết lập Hồ sơ bị hạn chế](https://developer.android.google.cn/static/images/jb-profiles-create-n713.png?authuser=19&hl=vi)
Chủ sở hữu máy tính bảng có thể thiết lập một hoặc nhiều hồ sơ bị hạn chế trong phần Cài đặt và quản lý các hồ sơ đó một cách độc lập.
![Đặt giới hạn trong Hồ sơ](https://developer.android.google.cn/static/images/jb-profiles-restrictions-n713.png?authuser=19&hl=vi)
Ứng dụng của bạn có thể đưa ra các hạn chế để cho phép chủ sở hữu quản lý nội dung ứng dụng khi ứng dụng đang chạy trong một hồ sơ.
Android 4.3 mở rộng tính năng nhiều người dùng cho máy tính bảng có hồ sơ bị hạn chế, một cách mới để quản lý người dùng và khả năng của họ trên một thiết bị. Với hồ sơ bị hạn chế, chủ sở hữu máy tính bảng có thể nhanh chóng thiết lập các môi trường riêng biệt cho mỗi người dùng, đồng thời có thể quản lý các quy định hạn chế chi tiết hơn trong các ứng dụng có sẵn trong những môi trường đó. Hồ sơ bị hạn chế rất lý tưởng cho bạn bè và gia đình, người dùng khách, kiosk, thiết bị tại điểm bán hàng, v.v.
Mỗi hồ sơ bị hạn chế đều có một không gian riêng biệt và an toàn với bộ nhớ cục bộ, màn hình chính, tiện ích và chế độ cài đặt riêng. Không giống như người dùng, hồ sơ được tạo từ môi trường của chủ sở hữu máy tính bảng, dựa trên ứng dụng đã cài đặt và tài khoản hệ thống của chủ sở hữu. Chủ sở hữu kiểm soát việc ứng dụng nào đã cài đặt được bật trong hồ sơ mới và quyền truy cập vào các tài khoản của chủ sở hữu bị vô hiệu hoá theo mặc định.
Các ứng dụng cần truy cập vào tài khoản của chủ sở hữu – cho mục đích đăng nhập, lựa chọn ưu tiên hoặc mục đích sử dụng khác – có thể chọn tham gia bằng cách khai báo thuộc tính tệp kê khai và chủ sở hữu có thể xem xét và quản lý các ứng dụng đó từ phần cài đặt cấu hình hồ sơ.
Đối với nhà phát triển, hồ sơ bị hạn chế mang đến một cách mới để mang lại nhiều giá trị và quyền kiểm soát hơn cho người dùng. Bạn có thể triển khai các hạn chế của ứng dụng (các chế độ kiểm soát nội dung hoặc chức năng mà ứng dụng của bạn hỗ trợ) và quảng cáo các chế độ đó cho chủ sở hữu máy tính bảng trong phần cài đặt cấu hình hồ sơ.
Bạn có thể trực tiếp thêm các hạn chế về ứng dụng vào phần cài đặt cấu hình hồ sơ bằng cách sử dụng các loại boolean, chọn và chọn nhiều định sẵn. Nếu muốn linh hoạt hơn, bạn thậm chí có thể chạy giao diện người dùng của riêng mình từ phần cài đặt cấu hình hồ sơ để cung cấp bất kỳ loại hạn chế nào theo ý muốn.
Khi chạy trong một hồ sơ, ứng dụng của bạn có thể kiểm tra mọi quy định hạn chế mà chủ sở hữu đã định cấu hình và thực thi các quy định đó một cách phù hợp. Ví dụ: một ứng dụng đa phương tiện có thể cung cấp hạn chế để cho phép chủ sở hữu đặt mức độ trưởng thành cho hồ sơ. Trong thời gian chạy, ứng dụng có thể kiểm tra chế độ cài đặt nội dung theo độ tuổi, sau đó quản lý nội dung theo độ tuổi mong muốn.
Nếu ứng dụng của bạn không được thiết kế để sử dụng trong các hồ sơ bị hạn chế, thì bạn có thể chọn hoàn toàn không sử dụng ứng dụng đó để không thể bật ứng dụng trong bất kỳ hồ sơ bị hạn chế nào.
Chức năng cảm biến và vị trí được tối ưu hoá
Dịch vụ Google Play cung cấp các API vị trí nâng cao mà bạn có thể dùng trong các ứng dụng của mình. Android 4.3 tối ưu hoá các API này trên những thiết bị được hỗ trợ có các tính năng mới về phần cứng và phần mềm để giảm thiểu mức sử dụng pin.
Tính năng Tính năng khoanh vùng địa lý phần cứng tối ưu hoá để tiết kiệm điện năng bằng cách tính toán vị trí trong phần cứng của thiết bị, thay vì trong phần mềm. Trên các thiết bị hỗ trợ tính năng khoanh vùng địa lý phần cứng, API địa lý của Dịch vụ Google Play sẽ có thể tận dụng tính năng tối ưu hoá này để tiết kiệm pin trong khi thiết bị đang di chuyển.
Chế độ chỉ quét tìm Wi-Fi là một tính năng tối ưu hoá mới cho nền tảng, cho phép người dùng tiếp tục quét tìm Wi-Fi mà không cần kết nối với mạng Wi-Fi, từ đó cải thiện độ chính xác của vị trí, đồng thời tiết kiệm pin. Giờ đây, các ứng dụng phụ thuộc vào Wi-Fi cho dịch vụ vị trí có thể yêu cầu người dùng bật chế độ chỉ quét trong phần cài đặt nâng cao của Wi-Fi. Chế độ chỉ quét tìm Wi-Fi không phụ thuộc vào phần cứng thiết bị và có sẵn trên nền tảng Android 4.3.
Các loại cảm biến mới cho phép các ứng dụng quản lý chỉ số cảm biến hiệu quả hơn. Vectơ xoay trò chơi cho phép các nhà phát triển trò chơi cảm nhận được hướng xoay của thiết bị mà không phải lo lắng về hiện tượng nhiễu từ. Các cảm biến con quay hồi chuyển chưa hiệu chỉnh và từ kế chưa hiệu chỉnh báo cáo kết quả đo lường thô cũng như độ lệch ước tính cho ứng dụng.
Các tính năng phần cứng mới đã có trên các thiết bị Nexus 7 (2013) và Nexus 4. Mọi nhà sản xuất thiết bị hoặc nhà cung cấp chipset đều có thể tích hợp các tính năng này vào thiết bị của họ.
Các tính năng mới về nội dung nghe nhìn
Khung DRM theo mô-đun
Để đáp ứng nhu cầu của dịch vụ nội dung đa phương tiện thế hệ mới, Android 4.3 ra mắt khung DRM mô-đun cho phép các nhà phát triển ứng dụng đa phương tiện dễ dàng tích hợp DRM vào giao thức phát trực tuyến của riêng họ, chẳng hạn như MPEG DASH (Truyền phát thích ứng động qua HTTP, ISO/IEC 23009-1).
Thông qua sự kết hợp của các API mới và tính năng nâng cao cho các API hiện có, khung DRM của nội dung đa phương tiện cung cấp một nhóm dịch vụ tích hợp để quản lý việc cấp phép và cấp phép, truy cập các bộ mã hoá và giải mã cấp thấp, cũng như giải mã dữ liệu nội dung nghe nhìn đã mã hoá. API MediaExtractor mới cho phép bạn lấy siêu dữ liệu PSSH cho nội dung nghe nhìn DASH. Các ứng dụng dùng khung DRM của nội dung đa phương tiện quản lý hoạt động giao tiếp mạng với máy chủ cấp phép và xử lý hoạt động truyền trực tuyến dữ liệu đã mã hoá từ thư viện nội dung.
Bộ mã hoá VP8
Android 4.3 ra mắt tính năng hỗ trợ tích hợp sẵn cho tính năng mã hoá VP8, có thể truy cập từ các API gốc và khung. Đối với các ứng dụng sử dụng API gốc, nền tảng bao gồm các tiêu đề tiện ích OpenMAX 1.1.2 để hỗ trợ các cấp và hồ sơ VP8. Hỗ trợ mã hoá VP8 bao gồm các chế độ cài đặt cho tốc độ bit mục tiêu, kiểm soát tốc độ, tốc độ khung hình, phân vùng mã thông báo, khả năng phục hồi lỗi, tái tạo và bộ lọc vòng lặp. API nền tảng hỗ trợ bộ mã hoá VP8 ở nhiều định dạng, vì vậy, bạn có thể tận dụng định dạng tốt nhất cho nội dung của mình.
Tính năng mã hoá VP8 có sẵn trong phần mềm trên tất cả các thiết bị tương thích chạy Android 4.3. Để có hiệu suất cao nhất, nền tảng này cũng hỗ trợ phương thức mã hoá VP8 tăng tốc phần cứng trên các thiết bị có hỗ trợ.
Mã hoá video trên một nền tảng
Kể từ Android 4.3, bạn có thể sử dụng khu vực làm đầu vào cho bộ mã hoá video. Ví dụ: Giờ đây, bạn có thể điều hướng một luồng từ nền tảng OpenGL ES đến bộ mã hoá, thay vì phải sao chép giữa các vùng đệm.
Trình kết hợp nội dung đa phương tiện
Các ứng dụng có thể sử dụng các API trình kết hợp nội dung đa phương tiện mới để kết hợp luồng âm thanh và video cơ bản vào một tệp đầu ra duy nhất. Hiện tại, các ứng dụng có thể ghép một luồng âm thanh MPEG-4 và một luồng video MPEG-4 thành một tệp đầu ra MPEG-4. Các API mới này là phiên bản tương ứng của các API phân tách nội dung đa phương tiện được giới thiệu trong Android 4.2.
Tiến trình phát và tua trong ứng dụng điều khiển từ xa
Kể từ Android 4.0, trình phát nội dung đa phương tiện và các ứng dụng tương tự đã có thể cung cấp bộ điều khiển chế độ phát qua các ứng dụng điều khiển từ xa, chẳng hạn như màn hình khoá của thiết bị, thông báo và các thiết bị từ xa được kết nối qua Bluetooth. Kể từ Android 4.3, các ứng dụng đó giờ đây cũng có thể hiển thị tiến trình và tốc độ phát thông qua các ứng dụng điều khiển từ xa, đồng thời nhận các lệnh để chuyển đến một vị trí phát cụ thể.
Những cách mới để xây dựng ứng dụng đẹp mắt
Quyền truy cập vào thông báo
Thông báo từ lâu đã là một tính năng phổ biến của Android vì chúng cho phép người dùng xem thông tin và nội dung cập nhật trên toàn hệ thống ở cùng một nơi. Giờ đây, trong Android 4.3, các ứng dụng có thể quan sát luồng thông báo với sự cho phép của người dùng và hiển thị thông báo theo bất kỳ cách nào họ muốn, bao gồm cả việc gửi thông báo đến các thiết bị ở gần được kết nối qua Bluetooth.
Bạn có thể truy cập vào thông báo thông qua các API mới cho phép bạn đăng ký dịch vụ trình nghe thông báo và nhận được thông báo khi các thông báo đó hiển thị trên thanh trạng thái với sự cho phép của người dùng. Thông báo được gửi đến cho bạn đầy đủ, với tất cả thông tin chi tiết về ứng dụng gốc, thời gian đăng, khung hiển thị và kiểu nội dung cũng như mức độ ưu tiên. Bạn có thể đánh giá các trường mà bạn quan tâm trong thông báo, xử lý hoặc thêm ngữ cảnh qua ứng dụng và định tuyến các trường đó để hiển thị theo bất kỳ cách nào bạn chọn.
API mới cung cấp cho bạn các lệnh gọi lại khi một thông báo được thêm, cập nhật và xoá (do người dùng đã đóng thông báo hoặc ứng dụng ban đầu đã rút lại thông báo đó). Bạn sẽ có thể khởi chạy mọi ý định đi kèm với thông báo hoặc các thao tác của thông báo đó, cũng như đóng ý định đó khỏi hệ thống, cho phép ứng dụng của bạn cung cấp giao diện người dùng hoàn chỉnh cho các thông báo.
Người dùng vẫn nắm quyền kiểm soát ứng dụng nào có thể nhận thông báo. Bất cứ lúc nào, họ cũng có thể xem trong phần Cài đặt để xem ứng dụng nào có quyền truy cập vào thông báo và bật hoặc tắt quyền truy cập nếu cần. Quyền truy cập vào thông báo bị tắt theo mặc định – các ứng dụng có thể sử dụng Intent (Ý định) mới để đưa người dùng đến thẳng phần Cài đặt nhằm bật dịch vụ trình nghe sau khi cài đặt.
Lớp phủ thành phần hiển thị
Giờ đây, bạn có thể tạo lớp phủ trong suốt trên Khung hiển thị và ViewGroup để hiển thị Hệ phân cấp khung hiển thị tạm thời hoặc các hiệu ứng ảnh động tạm thời mà không làm ảnh hưởng đến hệ phân cấp bố cục cơ bản. Lớp phủ đặc biệt hữu ích khi bạn muốn tạo ảnh động, chẳng hạn như trượt khung hiển thị ra ngoài vùng chứa hoặc kéo các mục trên màn hình mà không ảnh hưởng đến hệ phân cấp khung hiển thị.
Chế độ bố cục ranh giới quang học
Chế độ bố cục mới cho phép bạn quản lý vị trí của các thành phần hiển thị bên trong ViewGroup theo giới hạn quang học của chúng, thay vì giới hạn đoạn video. Đường viền cắt biểu thị ranh giới bên ngoài thực tế của tiện ích, trong khi giới hạn quang học mới mô tả vị trí mà tiện ích sẽ xuất hiện, trong giới hạn cắt. Bạn có thể sử dụng chế độ bố cục giới hạn quang học để căn chỉnh đúng các tiện ích sử dụng hiệu ứng hình ảnh bên ngoài như đổ bóng và toả sáng.
Loại ảnh động xoay tuỳ chỉnh
Giờ đây, các ứng dụng có thể xác định các loại ảnh động thoát và nhập được sử dụng trên cửa sổ khi xoay thiết bị. Bạn có thể đặt các thuộc tính cửa sổ để bật tính năng xoay cửa sổ jump-cắt, làm mờ dần (cross-fade) hoặc xoay cửa sổ chuẩn (chuẩn). Hệ thống sẽ sử dụng các loại ảnh động tuỳ chỉnh khi cửa sổ ở chế độ toàn màn hình và không bị các cửa sổ khác che khuất.
Các chế độ hướng màn hình
Ứng dụng có thể đặt chế độ hướng mới cho Activity (Hoạt động) để đảm bảo các hoạt động này hiển thị theo hướng thích hợp khi lật thiết bị. Ngoài ra, các ứng dụng có thể dùng một chế độ mới để khoá màn hình theo hướng hiện tại. Điều này sẽ hữu ích cho các ứng dụng dùng máy ảnh muốn tắt tính năng xoay trong khi quay video.
Mục đích để xử lý Phản hồi nhanh
Android 4.3 ra mắt một Intent (Ý định công khai) mới cho phép mọi ứng dụng xử lý tính năng Phản hồi nhanh – tin nhắn văn bản người dùng gửi để phản hồi cuộc gọi đến mà không cần nhận cuộc gọi hoặc mở khoá thiết bị. Ứng dụng của bạn có thể lắng nghe ý định và gửi tin nhắn cho phương thức gọi qua hệ thống nhắn tin. Ý định bao gồm người nhận (phương thức gọi) cũng như chính tin nhắn đó.
Hỗ trợ cho người dùng quốc tế
![](https://developer.android.google.cn/static/images/jb-rtl-arabic-n4.png?authuser=19&hl=vi)
![](https://developer.android.google.cn/static/images/jb-rtl-hebrew-n4.png?authuser=19&hl=vi)
Nhiều phần hơn của Android 4.3 được tối ưu hoá cho các ngôn ngữ RTL.
Cải tiến RTL
Android 4.3 có các tính năng nâng cao về hiệu suất RTL và hỗ trợ RTL rộng hơn trên các tiện ích giao diện người dùng khung, bao gồm cả ProgressBar/Spinner và ExpandableListView. Bạn có thể xem thêm thông tin gỡ lỗi qua công cụ uiautomatorviewer
. Ngoài ra, có thêm nhiều thành phần giao diện người dùng hệ thống khác nhận biết được RTL, chẳng hạn như thông báo, thanh điều hướng và Thanh thao tác.
Để mang lại trải nghiệm tốt hơn trên toàn hệ thống khi dùng chữ viết RTL, nhiều ứng dụng hệ thống mặc định hơn hiện hỗ trợ bố cục RTL, bao gồm Trình chạy, Cài đặt nhanh, Điện thoại, Mọi người, Trình bổ trợ, Đồng hồ, Tệp đã tải xuống, v.v.
Tiện ích cho việc bản địa hoá
![](https://developer.android.google.cn/static/images/jb-pseudo-locale-zz.png?authuser=19&hl=vi)
Ngôn ngữ giả lập giúp bạn dễ dàng kiểm tra bản địa hoá ứng dụng hơn.
Android 4.3 cũng bao gồm các tiện ích và API mới để tạo chuỗi RTL tốt hơn và kiểm thử giao diện người dùng đã bản địa hoá. Lớp BidiFormatter mới cung cấp một API đơn giản để gói các chuỗi Unicode để dữ liệu RTL-script hiển thị như dự kiến trong các thông báo LTR-locale và ngược lại. Để cho phép bạn sử dụng tiện ích này ở phạm vi rộng hơn trong ứng dụng của mình, API BidiFormatter hiện cũng có sẵn cho các phiên bản nền tảng cũ thông qua Gói hỗ trợ trong SDK Android.
Để hỗ trợ bạn quản lý định dạng ngày giữa các ngôn ngữ, Android 4.3 tích hợp phương thức getBestDateTimePattern() mới tự động tạo dạng bản địa hoá tốt nhất có thể của ngày Unicode UTS cho một ngôn ngữ mà bạn chỉ định. Đây là một cách thuận tiện để cung cấp trải nghiệm bản địa hoá hơn cho người dùng.
Để giúp bạn kiểm thử ứng dụng dễ dàng hơn ở các ngôn ngữ khác, Android 4.3 ra mắt ngôn ngữ giả lập dưới dạng một tuỳ chọn mới dành cho nhà phát triển. Ngôn ngữ giả lập mô phỏng ngôn ngữ, tập lệnh và các đặc điểm hiển thị liên quan đến một ngôn ngữ hoặc nhóm ngôn ngữ. Hiện tại, bạn có thể kiểm thử bằng một ngôn ngữ giả lập cho Tiếng Anh (có dấu trọng âm), cho phép bạn xem cách hoạt động của giao diện người dùng với các dấu trọng âm và ký tự được sử dụng trong nhiều ngôn ngữ ở Châu Âu.
Hỗ trợ tiếp cận và tự động hoá giao diện người dùng
Kể từ Android 4.3, các dịch vụ hỗ trợ tiếp cận có thể quan sát và lọc các sự kiện phím, chẳng hạn như xử lý các phím tắt hoặc cung cấp các thao tác tương đương với phương thức nhập dựa trên cử chỉ. Dịch vụ sẽ nhận các sự kiện và có thể xử lý các sự kiện đó khi cần trước khi chuyển đến hệ thống hoặc các ứng dụng khác đã được cài đặt.
Các dịch vụ hỗ trợ tiếp cận có thể khai báo các thuộc tính mới về chức năng để mô tả chức năng của các dịch vụ và những tính năng nền tảng mà các dịch vụ đó sử dụng. Ví dụ: ứng dụng có thể khai báo khả năng lọc các sự kiện chính, truy xuất nội dung trong cửa sổ, bật tính năng khám phá theo cách chạm hoặc bật bộ tính năng hỗ trợ tiếp cận của web. Trong một số trường hợp, các dịch vụ phải khai báo thuộc tính chức năng trước khi có thể truy cập vào các tính năng liên quan của nền tảng. Hệ thống sử dụng các thuộc tính chức năng của dịch vụ để tạo hộp thoại chọn sử dụng cho người dùng, nhờ đó, họ có thể xem và đồng ý với các tính năng đó trước khi chạy.
Dựa trên khung hỗ trợ tiếp cận trong Android 4.3, một khung tự động hoá giao diện người dùng mới cho phép kiểm thử tương tác với giao diện người dùng của thiết bị bằng cách mô phỏng các thao tác của người dùng và xem nội dung trên màn hình. Thông qua khung tự động hoá giao diện người dùng, bạn có thể thực hiện các thao tác cơ bản, đặt chế độ xoay màn hình, tạo sự kiện đầu vào, chụp ảnh màn hình và làm nhiều việc khác. Đây là một cách hiệu quả để tự động hoá việc kiểm thử trong các tình huống thực tế với người dùng, bao gồm cả các hành động hoặc trình tự trải rộng trên nhiều ứng dụng.
Doanh nghiệp và bảo mật
Cấu hình Wi-Fi cho mạng WPA2-Enterprise
Các ứng dụng hiện có thể định cấu hình thông tin đăng nhập Wi-Fi cần thiết cho các kết nối tới điểm truy cập WPA2 Enterprise. Nhà phát triển có thể sử dụng các API mới để định cấu hình thông tin xác thực Giao thức xác thực mở rộng (EAP) và EAP (Giai đoạn 2) đóng gói cho các phương thức xác thực dùng trong doanh nghiệp. Các ứng dụng có quyền truy cập và thay đổi Wi-Fi có thể định cấu hình thông tin xác thực cho nhiều phương thức xác thực EAP và Giai đoạn 2.
Hộp cát Android được tăng cường bằng SELinux
Android hiện sử dụng SELinux, một hệ thống kiểm soát quyền truy cập (MAC) bắt buộc trong nhân Linux để tăng cường hộp cát của ứng dụng dựa trên UID. Việc này giúp bảo vệ hệ điều hành khỏi các lỗ hổng bảo mật tiềm ẩn.
Các tính năng nâng cao cho KeyChain
API KeyChain hiện cung cấp một phương thức cho phép các ứng dụng xác nhận rằng các khoá trên toàn hệ thống được liên kết với gốc tin cậy phần cứng của thiết bị. Đây là nơi để tạo hoặc lưu trữ các khoá riêng tư mà không thể xuất ra khỏi thiết bị, ngay cả trong trường hợp thư mục gốc hoặc nhân bị xâm phạm.
Nhà cung cấp kho khoá Android
Android 4.3 giới thiệu một trình cung cấp kho khoá và API cho phép các ứng dụng tạo khoá sử dụng độc quyền. Khi sử dụng những API này, ứng dụng có thể tạo hoặc lưu trữ các khoá riêng tư mà các ứng dụng khác không thể nhìn thấy hoặc sử dụng, đồng thời có thể được thêm vào kho khoá mà không cần tương tác của người dùng.
Nhà cung cấp kho khoá mang lại các lợi ích bảo mật tương tự mà API KeyChain cung cấp cho thông tin xác thực trên toàn hệ thống, chẳng hạn như thông tin xác thực liên kết với một thiết bị. Không thể xuất các khoá riêng tư trong kho khoá ra khỏi thiết bị.
Hạn chế Setuid trong các ứng dụng Android
Phân vùng /system
hiện được gắn nosuid
cho các quy trình được khởi tạo zygote, ngăn các ứng dụng Android thực thi các chương trình setuid
. Điều này làm giảm bề mặt tấn công gốc và khả năng xuất hiện các lỗ hổng bảo mật tiềm ẩn.
Các cách mới để phân tích hiệu suất
![](https://developer.android.google.cn/static/images/jb-systrace.png?authuser=19&hl=vi)
Systrace sử dụng cú pháp lệnh mới và cho phép bạn thu thập thêm nhiều loại dữ liệu lập hồ sơ.
Ghi nhật ký Systrace nâng cao
Android 4.3 hỗ trợ phiên bản nâng cao của công cụ Systrace dễ sử dụng hơn và cho phép bạn truy cập vào nhiều loại thông tin hơn để phân tích hiệu suất của ứng dụng. Giờ đây, bạn có thể thu thập dữ liệu theo dõi từ mô-đun phần cứng, hàm nhân hệ điều hành, máy ảo Dalvik, bao gồm cả thu thập rác, tải tài nguyên, v.v.
Android 4.3 cũng bao gồm các Trace API mới mà bạn có thể dùng trong ứng dụng của mình để đánh dấu các phần mã cụ thể cần theo dõi bằng sự kiện bắt đầu/kết thúc Systrace. Khi thực thi các phần mã được đánh dấu, hệ thống sẽ ghi các sự kiện bắt đầu/kết thúc vào nhật ký theo dõi. Tác động của chúng đến hiệu suất của ứng dụng là rất nhỏ, vì vậy, thời gian được báo cáo sẽ giúp bạn nắm được chính xác hoạt động của ứng dụng.
Bạn có thể trực quan hoá các sự kiện dành riêng cho ứng dụng trong tiến trình ở tệp đầu ra Systrace, đồng thời phân tích các sự kiện đó trong bối cảnh dữ liệu theo dõi không gian của người dùng và nhân khác. Cùng với các thẻ Systrace hiện có, phần tuỳ chỉnh trong ứng dụng có thể cung cấp cho bạn những cách mới để hiểu rõ hiệu suất và hành vi của ứng dụng.
![](https://developer.android.google.cn/static/images/jb-gpu-profile-clk-n4.png?authuser=19&hl=vi)
![](https://developer.android.google.cn/static/images/jb-gpu-profile-cal-n4.png?authuser=19&hl=vi)
Phân tích GPU trên màn hình trong Android 4.3.
Lập hồ sơ GPU trên màn hình
Android 4.3 bổ sung các tuỳ chọn mới cho nhà phát triển để giúp bạn phân tích hiệu suất của ứng dụng và xác định các vấn đề kết xuất trên mọi thiết bị hoặc trình mô phỏng.
Trong tuỳ chọn Profile GPU rendering (Kết xuất phân tích GPU), bạn hiện có thể trực quan hoá tốc độ khung hình hiệu quả của ứng dụng trên màn hình khi ứng dụng đang chạy. Bạn có thể chọn hiển thị dữ liệu lập hồ sơ ở dạng biểu đồ thanh hoặc biểu đồ đường trên màn hình, với màu cho biết thời gian tạo lệnh vẽ (màu xanh dương), ra lệnh (màu cam) và chờ lệnh hoàn tất (màu vàng). Hệ thống sẽ liên tục cập nhật các biểu đồ trên màn hình, hiển thị một biểu đồ cho từng Hoạt động hiển thị, bao gồm cả thanh điều hướng và thanh thông báo.
Đường màu xanh lục làm nổi bật ngưỡng 16 mili giây cho các thao tác kết xuất, nhờ đó, bạn có thể đánh giá tốc độ khung hình hiệu quả của ứng dụng so với mục tiêu 60 khung hình/giây (vì 1/60 giây tương đương với khoảng 16 mili giây). Nếu thấy các hoạt động vượt quá đường màu xanh lục, bạn có thể phân tích thêm các hoạt động đó bằng cách sử dụng Systrace và các công cụ khác.
Theo mặc định, trên các thiết bị chạy Android 4.2 trở lên, các tuỳ chọn cho nhà phát triển sẽ bị ẩn. Bạn có thể hiển thị các số này bất cứ lúc nào bằng cách nhấn 7 lần vào Cài đặt > Giới thiệu về điện thoại > Số bản dựng trên bất kỳ thiết bị Android tương thích nào.
Cảnh báo StrictMode cho các URI tệp
Nội dung bổ sung mới nhất cho công cụ StrictMode là một quy tắc ràng buộc chính sách cảnh báo khi ứng dụng của bạn hiển thị một URI file://
cho hệ thống hoặc một ứng dụng khác. Trong một số trường hợp, ứng dụng nhận có thể không có quyền truy cập vào đường dẫn URI file://
, vì vậy, khi chia sẻ tệp giữa các ứng dụng, bạn nên sử dụng URI content://
(với quyền thích hợp). Chính sách mới này giúp bạn phát hiện và khắc phục
các trường hợp như vậy. Nếu bạn đang tìm một cách thuận tiện để lưu trữ và hiển thị tệp cho các ứng dụng khác, hãy thử dùng trình cung cấp nội dung FileProvider
có sẵn trong Thư viện hỗ trợ.
Android 4.2
![Android 4.2 trên điện thoại và máy tính bảng](https://developer.android.google.cn/static/images/jb-device-2.png?authuser=19&hl=vi)
Chào mừng bạn đến với Android 4.2, phiên bản mới nhất của Jelly Bean!
Android 4.2 có các tính năng tối ưu hoá hiệu suất, giao diện người dùng hệ thống được làm mới và các tính năng mới tuyệt vời cho người dùng và nhà phát triển. Tài liệu này cung cấp thông tin tổng quan về những tính năng mới dành cho nhà phát triển.
Xem tài liệu về API Android 4.2 để biết thông tin chi tiết về các API mới dành cho nhà phát triển.
Tìm hiểu thêm về các tính năng mới của Jelly Bean dành cho người dùng tại www.android.com.
Nhanh hơn, mượt mà hơn, phản hồi nhanh hơn
Android 4.2 được xây dựng dựa trên các điểm cải tiến về hiệu suất đã có trong Jelly Bean – thời gian vsync, độ trễ ba lần, giảm độ trễ cảm ứng và tăng cường đầu vào cho CPU — đồng thời bổ sung các tính năng tối ưu hoá mới giúp Android nhanh hơn nữa.
Những cải tiến trong trình kết xuất 2D tăng tốc phần cứng giúp các ảnh động phổ biến như cuộn và vuốt mượt mà hơn và nhanh hơn. Cụ thể, bản vẽ được tối ưu hoá cho các lớp, thao tác cắt và một số hình dạng nhất định (hình chữ nhật tròn, vòng tròn và hình bầu dục).
Nhiều tính năng tối ưu hoá kết xuất WebView giúp hoạt động cuộn trang web mượt mà hơn, không bị rung và trễ.
Tính toán RenderScript của Android là nền tảng tính toán đầu tiên được chuyển để chạy trực tiếp trên GPU của thiết bị di động. Mô hình này tự động tận dụng các tài nguyên tính toán GPU bất cứ khi nào có thể, cải thiện đáng kể hiệu suất cho hoạt động xử lý đồ hoạ và hình ảnh. Mọi ứng dụng sử dụng RenderScript trên thiết bị được hỗ trợ đều có thể hưởng lợi ngay lập tức từ việc tích hợp GPU này mà không cần biên dịch lại.
Giao diện người dùng được làm mới và tinh tế
Android 4.2 tinh chỉnh trải nghiệm người dùng Jelly Bean và đưa các mẫu giao diện người dùng Android quen thuộc như thanh trạng thái, thanh hệ thống và cửa sổ thông báo vào tất cả máy tính bảng.
Giờ đây, tất cả kích thước màn hình đều có thanh trạng thái ở trên cùng, với quyền truy cập thông báo kéo xuống và trình đơn Cài đặt nhanh mới. Thanh hệ thống quen thuộc xuất hiện ở dưới cùng, với các nút dễ dàng truy cập được bằng một trong hai tay. Application Khay cũng có trên mọi kích thước màn hình.
Một máy tính bảng, nhiều người dùng
Giờ đây, nhiều người dùng có thể chia sẻ một máy tính bảng Android, trong đó mỗi người dùng có quyền truy cập thuận tiện vào một không gian dành riêng cho người dùng. Người dùng có thể chuyển sang không gian của họ chỉ bằng một lần chạm từ màn hình khoá.
Trên thiết bị nhiều người dùng, Android cung cấp cho mỗi người dùng một môi trường riêng, bao gồm cả dung lượng lưu trữ thẻ SD được mô phỏng dành riêng cho người dùng. Người dùng cũng có màn hình chính, tiện ích, tài khoản, chế độ cài đặt, tệp và ứng dụng riêng. Hệ thống cũng tách biệt những yếu tố này. Tất cả người dùng đều dùng chung các dịch vụ hệ thống cốt lõi, nhưng hệ thống đảm bảo rằng các ứng dụng và dữ liệu của từng người dùng vẫn được tách biệt. Trên thực tế, mỗi người dùng có thiết bị Android riêng.
Người dùng có thể cài đặt và gỡ cài đặt ứng dụng bất cứ lúc nào trong môi trường của riêng mình. Để tiết kiệm dung lượng lưu trữ, Google Play sẽ chỉ tải tệp APK xuống nếu tệp APK này chưa được người dùng khác cài đặt trên thiết bị. Nếu ứng dụng đã được cài đặt, Google Play sẽ ghi lại lượt cài đặt của người dùng mới theo cách thông thường nhưng không tải bản sao khác của ứng dụng xuống. Nhiều người dùng có thể chạy cùng một bản sao của một tệp APK vì hệ thống sẽ tạo một thực thể mới cho mỗi người dùng, bao gồm cả thư mục dữ liệu dành riêng cho người dùng.
Đối với nhà phát triển, việc hỗ trợ nhiều người dùng rất minh bạch – ứng dụng của bạn không cần phải làm gì đặc biệt để có thể chạy bình thường trong môi trường nhiều người dùng và bạn không cần thay đổi gì trong các tệp APK hiện có hoặc đã phát hành. Hệ thống quản lý ứng dụng của bạn trong từng không gian người dùng giống như trong môi trường một người dùng.
Cách mới để thu hút người dùng
![Tiện ích trên màn hình khoá của Lịch](https://developer.android.google.cn/static/images/jb-lock-calendar.png?authuser=19&hl=vi)
Bạn có thể mở rộng tiện ích ứng dụng để chạy trên màn hình khóa và truy cập tức thì vào nội dung của bạn.
Tiện ích trên màn hình khoá
Trong Android 4.2, người dùng có thể đặt tiện ích ứng dụng trực tiếp trên màn hình khoá để truy cập tức thì vào nội dung ứng dụng yêu thích mà không cần phải mở khoá. Người dùng có thể thêm tối đa 5 tiện ích trên màn hình khoá, có thể chọn trong số các tiện ích do các ứng dụng đã cài đặt cung cấp. Màn hình khoá hiển thị từng tiện ích trong bảng điều khiển riêng, cho phép người dùng vuốt sang trái và phải để xem các bảng điều khiển và tiện ích tương ứng.
Giống như mọi tiện ích ứng dụng, tiện ích trên màn hình khoá có thể hiển thị mọi loại nội dung và có thể chấp nhận hoạt động tương tác trực tiếp của người dùng. Các API này có thể hoàn toàn độc lập, chẳng hạn như một tiện ích cung cấp các chế độ điều khiển để phát nhạc hoặc có thể cho phép người dùng chuyển thẳng đến một Hoạt động trong ứng dụng sau khi mở khoá theo cách cần thiết.
Đối với các nhà phát triển, các tiện ích trên màn hình khoá là một cách mới tuyệt vời để thu hút người dùng. Chúng cho phép bạn hiển thị nội dung của mình trước người dùng ở một vị trí họ thường thấy và chúng cho bạn thêm cơ hội để đưa người dùng đến thẳng ứng dụng của bạn.
Bạn có thể tận dụng tính năng mới này bằng cách tạo tiện ích ứng dụng mới hoặc mở rộng tiện ích màn hình chính hiện có. Nếu ứng dụng của bạn đã có các tiện ích trên màn hình chính, thì bạn có thể mở rộng các tiện ích đó ra màn hình khoá mà không cần thay đổi gì nhiều. Để mang đến cho người dùng trải nghiệm tối ưu, bạn có thể cập nhật tiện ích để sử dụng toàn bộ khu vực màn hình khoá (nếu có) và đổi kích thước khi cần trên các màn hình nhỏ hơn. Bạn cũng có thể thêm các tính năng vào tiện ích có thể đặc biệt hữu ích hoặc thuận tiện trên màn hình khoá.
Daydream
Daydream là chế độ trình bảo vệ màn hình tương tác bắt đầu khi thiết bị của người dùng được gắn vào đế hoặc đang sạc. Ở chế độ này, hệ thống sẽ khởi chạy một chế độ ngủ ban ngày (một dịch vụ nội dung từ xa do một ứng dụng đã cài đặt cung cấp) làm trình bảo vệ màn hình của thiết bị. Người dùng có thể bật Chế độ ngủ trong ứng dụng Cài đặt, sau đó chọn chế độ ngủ mà bạn muốn hiển thị.
Chế độ ngủ kết hợp các tính năng tốt nhất của hình nền động và tiện ích trên màn hình chính, nhưng mạnh mẽ hơn. Chúng cho phép bạn cung cấp mọi loại nội dung trong một bối cảnh hoàn toàn mới, với các hoạt động tương tác của người dùng như lật qua ảnh, phát âm thanh hoặc video hoặc truy cập trực tiếp vào ứng dụng của bạn chỉ bằng một lần chạm.
Vì chế độ ngủ có thể tự động khởi động khi thiết bị đang sạc hoặc gắn vào đế, chúng cũng là một cách tuyệt vời để ứng dụng của bạn hỗ trợ các loại trải nghiệm người dùng mới, chẳng hạn như chế độ leanback hoặc triển lãm, chế độ minh hoạ hoặc kiosk và "chế độ attract" — tất cả mà không cần phần cứng đặc biệt.
![Chế độ trình bảo vệ màn hình Daydream](https://developer.android.google.cn/static/images/jb-dream-1.png?authuser=19&hl=vi)
Daydream cho phép bạn tạo trình bảo vệ màn hình tương tác mạnh mẽ hiển thị mọi loại nội dung.
Daydream tương tự như Activity (Hoạt động) và có thể làm mọi việc mà Hoạt động có thể làm – từ việc kết xuất hệ phân cấp giao diện người dùng (mà không cần sử dụng RemoteViews) cho đến vẽ trực tiếp bằng Canvas, OpenGL, SurfaceTexture, v.v. Các API này có thể phát video và âm thanh, thậm chí có thể chấp nhận tương tác trực tiếp của người dùng. Tuy nhiên, Daydream không phải là Activity (Hoạt động) nên chúng không ảnh hưởng đến ngăn xếp lui hoặc xuất hiện trong Gần đây, đồng thời không thể khởi chạy trực tiếp trên ứng dụng của bạn.
Việc triển khai chế độ ngủ rất đơn giản và bạn có thể tận dụng các thành phần và tài nguyên giao diện người dùng mà bạn đã tạo cho các phần khác của ứng dụng. Bạn có thể cung cấp nhiều chế độ ngủ trong ứng dụng của mình cũng như cung cấp các chế độ cài đặt nội dung và hiển thị riêng biệt cho mỗi chế độ.
Hỗ trợ màn hình bên ngoài
Android 4.2 giới thiệu tính năng hỗ trợ nền tảng cho màn hình bên ngoài, không chỉ dừng lại ở tính năng phản chiếu. Giờ đây, ứng dụng có thể nhắm mục tiêu nội dung duy nhất đến một hoặc nhiều màn hình bất kỳ được gắn với thiết bị Android. Các ứng dụng có thể xây dựng dựa trên điều này để mang lại các kiểu trải nghiệm tương tác và giải trí mới cho người dùng.
Người quản lý màn hình
Các ứng dụng tương tác với màn hình thông qua dịch vụ hệ thống trình quản lý màn hình mới. Ứng dụng của bạn có thể liệt kê các màn hình và kiểm tra chức năng của từng màn hình, bao gồm kích thước, mật độ, tên hiển thị, mã nhận dạng, khả năng hỗ trợ video bảo mật, v.v. Ứng dụng của bạn cũng có thể nhận lệnh gọi lại khi màn hình được thêm hoặc bị xoá hoặc khi chức năng của các màn hình thay đổi, để quản lý nội dung của bạn tốt hơn trên màn hình bên ngoài.
Cửa sổ bản trình bày
Để giúp bạn dễ dàng hiển thị nội dung trên màn hình bên ngoài, khung này cung cấp đối tượng giao diện người dùng mới có tên là Bản trình bày – một loại hộp thoại đại diện cho cửa sổ cho nội dung của ứng dụng trên một màn hình bên ngoài cụ thể. Ứng dụng của bạn chỉ cung cấp màn hình để sử dụng, giao diện cho cửa sổ và nội dung riêng biệt bất kỳ để hiển thị. Bản trình bày xử lý việc tăng cường tài nguyên và hiển thị nội dung của bạn theo các đặc điểm của màn hình được nhắm mục tiêu.
![](https://developer.android.google.cn/static/images/external-display.png?authuser=19&hl=vi)
Bạn có toàn quyền kiểm soát hai hoặc nhiều màn hình độc lập bằng cách sử dụng tính năng Bản trình bày.
Bản trình bày cho phép ứng dụng của bạn kiểm soát toàn bộ cửa sổ hiển thị từ xa và nội dung của cửa sổ đó, đồng thời cho phép bạn quản lý cửa sổ đó dựa trên các sự kiện nhập của người dùng như nhấn phím, cử chỉ, sự kiện chuyển động, v.v. Bạn có thể sử dụng tất cả các công cụ thông thường để tạo giao diện người dùng và hiển thị nội dung trong Bản trình bày, từ xây dựng hệ phân cấp khung hiển thị tuỳ ý đến việc sử dụng SurfaceView hoặc SurfaceTexture để vẽ trực tiếp vào cửa sổ đối với nội dung truyền trực tuyến hoặc bản xem trước của máy ảnh.
Lựa chọn hiển thị ưu tiên
Khi có nhiều màn hình bên ngoài, bạn có thể tạo số lượng Bản trình bày tuỳ ý, trong đó mỗi Bản trình bày hiển thị nội dung duy nhất trên một màn hình cụ thể. Trong nhiều trường hợp, có thể bạn chỉ muốn hiển thị nội dung của mình trên một màn hình bên ngoài, nhưng luôn hiển thị trên màn hình phù hợp nhất với nội dung Bản trình bày. Để làm được điều này, hệ thống có thể giúp ứng dụng của bạn chọn màn hình phù hợp nhất để sử dụng.
Để tìm màn hình phù hợp nhất để sử dụng, ứng dụng của bạn có thể truy vấn trình quản lý hiển thị cho màn hình Bản trình bày ưu tiên của hệ thống và nhận lệnh gọi lại khi màn hình hiển thị đó thay đổi. Ngoài ra, bạn có thể sử dụng dịch vụ bộ định tuyến nội dung nghe nhìn (được mở rộng trong Android 4.2) để nhận thông báo khi tuyến video của hệ thống thay đổi. Theo mặc định, ứng dụng của bạn có thể hiển thị nội dung trong Hoạt động chính cho đến khi màn hình Bản trình bày ưu tiên được đính kèm. Lúc đó, ứng dụng có thể tự động chuyển sang Nội dung bản trình bày trên màn hình ưu tiên. Các ứng dụng của bạn cũng có thể sử dụng MediaRouteActionProvider và MediaMediaButton của trình định tuyến nội dung đa phương tiện để cung cấp giao diện người dùng lựa chọn hiển thị tiêu chuẩn.
Nội dung được bảo vệ
Đối với các ứng dụng xử lý nội dung được bảo vệ hoặc đã mã hoá, API hiển thị hiện sẽ báo cáo các tính năng bảo mật của video của màn hình đính kèm. Ứng dụng của bạn truy vấn một màn hình để tìm hiểu xem ứng dụng đó có cung cấp đầu ra video an toàn hay cung cấp vùng đệm đồ hoạ được bảo vệ hay không, sau đó chọn luồng nội dung hoặc phương thức giải mã thích hợp để nội dung có thể xem được. Để tăng cường bảo mật trên các đối tượng SurfaceView, ứng dụng của bạn có thể đặt một cờ bảo mật để cho biết rằng nội dung sẽ không bao giờ xuất hiện trong ảnh chụp màn hình hoặc trên một đầu ra màn hình không an toàn, ngay cả khi được phản chiếu.
Hiển thị không dây
Kể từ Android 4.2, người dùng trên các thiết bị được hỗ trợ có thể kết nối với màn hình bên ngoài qua Wi-Fi, thông qua Màn hình Wi-Fi (một giải pháp hiển thị không dây ngang hàng tuân thủ chương trình chứng nhận MiracastTM). Khi màn hình không dây được kết nối, người dùng có thể phát trực tuyến mọi loại nội dung lên màn hình lớn, bao gồm cả ảnh, trò chơi, bản đồ và nhiều loại nội dung khác.
Các ứng dụng có thể tận dụng màn hình không dây theo cách tương tự như các màn hình bên ngoài khác mà không cần làm gì thêm. Hệ thống sẽ quản lý kết nối mạng và truyền trực tuyến Bản trình bày hoặc nội dung khác của ứng dụng đến màn hình không dây khi cần.
Hỗ trợ RTL gốc
![Phản chiếu bố cục RTL](https://developer.android.google.cn/static/images/jb-rtl.png?authuser=19&hl=vi)
Giờ đây, nhà phát triển có thể phản chiếu bố cục cho các ngôn ngữ RTL.
Android 4.2 giới thiệu hỗ trợ gốc đầy đủ cho bố cục RTL (từ phải sang trái), bao gồm cả phản chiếu bố cục. Với khả năng hỗ trợ RTL gốc, bạn có thể mang lại trải nghiệm ứng dụng tuyệt vời như nhau cho tất cả người dùng, cho dù ngôn ngữ của họ sử dụng tập lệnh đọc từ phải sang trái hay tập lệnh đọc từ trái sang phải.
Khi người dùng chuyển ngôn ngữ hệ thống sang một tập lệnh từ phải sang trái, hệ thống hiện sẽ cung cấp tính năng tự động phản chiếu bố cục giao diện người dùng của ứng dụng và mọi tiện ích xem, ngoài tính năng phản chiếu giá thầu các phần tử văn bản cho cả hoạt động đọc và nhập ký tự.
Ứng dụng của bạn có thể tận dụng tính năng phản chiếu bố cục RTL trong ứng dụng mà không tốn nhiều công sức. Nếu muốn ứng dụng được đồng bộ hoá hai chiều, bạn chỉ cần khai báo một thuộc tính mới trong tệp kê khai ứng dụng và thay đổi mọi thuộc tính bố cục "trái/phải" thành "bắt đầu/kết thúc" mới. Sau đó, hệ thống sẽ xử lý việc phản chiếu và hiển thị giao diện người dùng theo cách phù hợp.
Để kiểm soát chính xác giao diện người dùng của ứng dụng, Android 4.2 bao gồm các API mới cho phép bạn quản lý hướng bố cục, hướng văn bản, căn chỉnh văn bản, trọng lực và hướng ngôn ngữ trong các thành phần Khung hiển thị. Bạn thậm chí có thể tạo các phiên bản tuỳ chỉnh của bố cục, đối tượng có thể vẽ và các tài nguyên khác để hiển thị khi đang sử dụng tập lệnh từ phải sang trái.
Để giúp bạn gỡ lỗi và tối ưu hoá bố cục tuỳ chỉnh từ phải sang trái, công cụ Trình xem chế độ phân cấp giờ đây cho phép bạn xem các thuộc tính bắt đầu/kết thúc, hướng bố cục, hướng văn bản và căn chỉnh văn bản cho tất cả các Khung hiển thị trong hệ phân cấp.
Các tính năng nâng cao cho ngôn ngữ quốc tế
Android 4.2 có nhiều tính năng tối ưu hoá phông chữ và ký tự cho người dùng quốc tế:
- Đối với người dùng Hàn Quốc, chúng tôi có một lựa chọn mới về phông chữ — Nanum (나눔글꼴) Gothic, một phông chữ Unicode được thiết kế riêng cho chữ Hàn.
- Cải thiện tính năng hỗ trợ văn bản dọc tiếng Nhật hiển thị trong WebView.
- Cải thiện khoảng cách và vị trí phông chữ cho phông chữ mặc định của tiếng Ấn Độ, tiếng Thái, tiếng Ả Rập và tiếng Do Thái.
Bàn phím Android mặc định cũng bao gồm một bộ từ điển được cập nhật:
- Từ điển dành cho tiếng Pháp (có hỗ trợ Bigram), tiếng Anh và tiếng Nga được cải tiến
- Từ điển mới cho tiếng Đan Mạch, tiếng Hy Lạp, tiếng Phần Lan, tiếng Lithuania, tiếng Latvia, tiếng Ba Lan, tiếng Slovenia, tiếng Serbia, tiếng Thuỵ Điển, tiếng Thổ Nhĩ Kỳ
Các cách mới để tạo giao diện người dùng đẹp mắt
Các mảnh lồng nhau
Để có nhiều quyền kiểm soát hơn đối với các thành phần giao diện người dùng và làm cho các thành phần đó theo mô-đun hơn, Android 4.2 cho phép bạn lồng các mảnh vào bên trong Mảnh. Đối với bất kỳ Mảnh nào, trình quản lý Mảnh mới cho phép bạn chèn các Mảnh khác làm nút con trong Hệ phân cấp khung hiển thị.
Bạn có thể sử dụng các Mảnh lồng ghép theo nhiều cách khác nhau, nhưng chúng đặc biệt hữu ích khi triển khai các thành phần giao diện người dùng động và có thể sử dụng lại bên trong một thành phần giao diện người dùng vốn linh động và có thể sử dụng lại. Ví dụ: nếu sử dụng ViewPager để tạo các mảnh vuốt sang trái và phải, thì giờ đây, bạn có thể chèn các mảnh vào từng Mảnh của trình phân trang chế độ xem.
Để tận dụng rộng rãi các Mảnh lồng nhau trong ứng dụng của bạn, tính năng này được thêm vào phiên bản mới nhất của Thư viện hỗ trợ Android.
Hỗ trợ tiếp cận
Giờ đây, hệ thống này sẽ giúp các dịch vụ hỗ trợ tiếp cận phân biệt giữa khám phá thao tác chạm và cử chỉ hỗ trợ tiếp cận khi ở chế độ khám phá thao tác chạm. Khi người dùng chạm vào màn hình, hệ thống sẽ thông báo cho dịch vụ rằng một tương tác chạm chung đã bắt đầu. Sau đó, dịch vụ này sẽ theo dõi tốc độ tương tác chạm và xác định xem đó là cử chỉ khám phá bằng cách chạm (chậm) hay cử chỉ hỗ trợ tiếp cận (nhanh) và thông báo cho dịch vụ. Khi tương tác chạm kết thúc, hệ thống sẽ thông báo cho dịch vụ.
Hệ thống này cung cấp tuỳ chọn hỗ trợ tiếp cận chung mới cho phép dịch vụ hỗ trợ tiếp cận mở trình đơn Cài đặt nhanh dựa trên thao tác của người dùng. Cũng được thêm vào Android 4.2 là một loại phản hồi mới về hỗ trợ tiếp cận dành cho Thiết bị chữ nổi.
Để cung cấp thông tin chi tiết về dịch vụ hỗ trợ tiếp cận về ý nghĩa của Khung hiển thị đối với mục đích hỗ trợ tiếp cận, khung này sẽ cung cấp các API mới để liên kết Khung hiển thị dưới dạng nhãn cho một Khung hiển thị khác. Các dịch vụ hỗ trợ tiếp cận có thể sử dụng nhãn cho mỗi Khung hiển thị thông qua AccessibilityNodeInfo.
Cải thiện máy ảnh với HDR
Android 4.2 giới thiệu một quy trình và giao diện phần cứng mới cho máy ảnh để cải thiện hiệu suất. Trên các thiết bị được hỗ trợ, các ứng dụng có thể dùng chế độ cảnh máy ảnh HDR mới để chụp ảnh bằng các kỹ thuật chụp ảnh có dải động cao.
Ngoài ra, khung này hiện cung cấp một API để cho phép các ứng dụng kiểm tra xem có thể tắt âm thanh màn trập của máy ảnh hay không. Sau đó, các ứng dụng có thể cho phép người dùng tắt âm thanh hoặc chọn một âm thanh thay thế cho âm thanh màn trập tiêu chuẩn. Đây là cách chúng tôi khuyên dùng.
Tính toán RenderScript
Trong Android 4.2, Renderscript Compute giới thiệu các tính năng viết tập lệnh mới, tối ưu hoá mới và tích hợp GPU trực tiếp để đạt được hiệu suất cao nhất cho các thao tác tính toán.
Tập lệnh bộ lọc
Filterscript là một tập hợp con của Renderscript tập trung vào việc xử lý hình ảnh được tối ưu hoá trên nhiều loại chipset của thiết bị. Nhà phát triển có thể viết hoạt động xử lý hình ảnh của họ trong Filterscript bằng cách sử dụng API thời gian chạy RenderScript tiêu chuẩn, nhưng trong những hạn chế nghiêm ngặt hơn để đảm bảo khả năng tương thích rộng hơn và tối ưu hoá tốt hơn trên CPU, GPU và DSP.
Filterscript rất lý tưởng cho việc tăng tốc phần cứng và các thao tác tính toán đơn giản, chẳng hạn như các thao tác có thể được viết cho chương trình đổ bóng mảnh OpenGL ES. Vì công cụ này đặt một tập hợp các quy tắc ràng buộc thoải mái trên phần cứng, nên các hoạt động của bạn sẽ được tối ưu hoá và tăng tốc trên nhiều loại chip thiết bị hơn. Mọi ứng dụng nhắm đến API cấp 17 trở lên đều có thể sử dụng Filterscript.
Hàm nội tại của tập lệnh
Trong Android 4.2, Renderscript hỗ trợ thêm một tập hợp các hàm nội tại của tập lệnh – tính năng lọc dữ liệu gốc được tăng tốc được triển khai sẵn để giảm số lượng mã cần viết và đảm bảo ứng dụng đạt được hiệu suất tối đa có thể.
Nội tại có sẵn để kết hợp, làm mờ, ma trận màu, tích 3x3 và 5x5, bảng tra cứu trên mỗi kênh và chuyển đổi bộ đệm Android YUV sang RGB.
Nhóm tập lệnh
Giờ đây, bạn có thể tạo nhóm tập lệnh Renderscript và thực thi tất cả các nhóm đó bằng một lệnh gọi duy nhất như thể các nhóm đó thuộc một tập lệnh duy nhất. Điều này cho phép Renderscript tối ưu hoá việc thực thi các tập lệnh theo những cách mà các tập lệnh đó không thể làm được nếu các tập lệnh được thực thi riêng lẻ.
![Biểu đồ hiển thị các chế độ tối ưu hoá](https://developer.android.google.cn/static/images/jb-rs-chart-versions.png?authuser=19&hl=vi)
Các điểm chuẩn xử lý hình ảnh Renderscript chạy trên các phiên bản nền tảng Android (Android 4.0, 4.1 và 4.2) chỉ trong CPU của thiết bị Galaxy Nexus.
![](https://developer.android.google.cn/static/images/jb-rs-chart-gpu.png?authuser=19&hl=vi)
Điểm chuẩn xử lý hình ảnh RenderScript so sánh các hoạt động chạy với GPU + CPU với các hoạt động chỉ chạy trong CPU trên cùng một thiết bị Nexus 10.
Nếu muốn chạy biểu đồ tuần hoàn có hướng của các thao tác Renderscript, bạn có thể sử dụng một lớp trình tạo để tạo một nhóm tập lệnh xác định các thao tác. Tại thời điểm thực thi, Renderscript sẽ tối ưu hoá thứ tự chạy và mối kết nối giữa các thao tác này để đạt được hiệu suất tốt nhất.
Cải tiến tính năng tối ưu hoá liên tục
Khi sử dụng Renderscript cho các hoạt động tính toán, các ứng dụng của bạn sẽ được hưởng lợi từ các điểm cải tiến về hiệu suất và khả năng tối ưu hoá liên tục ngay trong chính công cụ RenderScript mà không ảnh hưởng đến mã ứng dụng hay nhu cầu biên dịch lại.
Khi tính năng tối ưu hoá được cải thiện, các hoạt động của bạn sẽ thực thi nhanh hơn và trên nhiều bộ vi mạch hơn mà bạn không cần phải làm gì cả. Biểu đồ ở bên phải nêu bật mức tăng hiệu suất do các điểm cải tiến liên tục về tính năng tối ưu hoá Renderscript trên các phiên bản kế tiếp của nền tảng Android.
Điện toán GPU
Renderscript Compute là nền tảng tính toán đầu tiên được chuyển sang chạy trực tiếp trên GPU của thiết bị di động. Giờ đây, giải pháp này tự động tận dụng các tài nguyên tính toán GPU bất cứ khi nào có thể để cải thiện hiệu suất. Khi tích hợp GPU, ngay cả các phép tính phức tạp nhất cho việc xử lý đồ hoạ hoặc hình ảnh cũng có thể thực thi với hiệu suất được cải thiện đáng kể.
Mọi ứng dụng sử dụng Renderscript trên thiết bị được hỗ trợ đều có thể hưởng lợi ngay từ việc tích hợp GPU này mà không cần biên dịch lại. Máy tính bảng Nexus 10 là thiết bị đầu tiên hỗ trợ tính năng tích hợp này.
Tích hợp sẵn tuỳ chọn mới cho nhà phát triển
Hệ thống Android 4.2 bao gồm nhiều tuỳ chọn mới cho nhà phát triển, giúp bạn dễ dàng tạo ra những ứng dụng có giao diện đẹp mắt và hoạt động hiệu quả. Các tuỳ chọn mới sẽ hiển thị tính năng gỡ lỗi và phân tích tài nguyên ứng dụng của bạn trên mọi thiết bị hoặc trình mô phỏng.
Trên các thiết bị chạy Android 4.2, các tuỳ chọn cho nhà phát triển sẽ bị ẩn theo mặc định, giúp mang lại trải nghiệm tốt hơn cho người dùng. Bạn có thể hiển thị các tuỳ chọn cho nhà phát triển bất cứ lúc nào bằng cách nhấn 7 lần vào Cài đặt > Giới thiệu về điện thoại > Số bản dựng trên bất kỳ thiết bị Android tương thích nào.
![](https://developer.android.google.cn/static/images/jb-dev-options-device.png?authuser=19&hl=vi)
Các tuỳ chọn mới cho nhà phát triển mang đến cho bạn thêm nhiều cách để lập hồ sơ và gỡ lỗi trên thiết bị.
Các tuỳ chọn mới cho nhà phát triển trong Android 4.2 bao gồm:
- Take bug report (Tạo báo cáo lỗi) – ngay lập tức chụp ảnh màn hình và kết xuất thông tin trạng thái thiết bị vào bộ nhớ tệp cục bộ, sau đó đính kèm những thông tin đó vào một email gửi đi mới.
- Báo cáo lỗi trong trình đơn nguồn – Thêm tuỳ chọn mới vào trình đơn nguồn của thiết bị và trình đơn cài đặt nhanh để tạo báo cáo lỗi (xem ở trên).
- Xác minh ứng dụng qua USB – Cho phép bạn tắt tính năng kiểm tra ứng dụng đối với việc cài đặt ứng dụng không qua USB, trong khi vẫn kiểm tra ứng dụng từ các nguồn khác như trình duyệt. Điều này có thể đẩy nhanh quá trình phát triển trong khi vẫn bật tính năng bảo mật.
- Hiển thị bản cập nhật lớp phần cứng – Nhấp nháy các lớp phần cứng màu xanh lục khi cập nhật.
- Hiện GPU vẽ nhiều lần – Làm nổi bật các vùng GPU vẽ nhiều lần.
- Force 4x MSAA (Buộc dùng 4x MSAA) – Bật 4x MSAA trong các ứng dụng Open GL ES 2.0.
- Simulate secondary displays (Màn hình phụ mô phỏng) – Tạo một hoặc nhiều cửa sổ lớp phủ không an toàn trên màn hình hiện tại để sử dụng làm màn hình mô phỏng từ xa. Bạn có thể kiểm soát kích thước và mật độ của màn hình mô phỏng.
- Bật dấu vết OpenGL – Cho phép bạn theo dõi quá trình thực thi OpenGL bằng Logcat, Systrace hoặc ngăn xếp lệnh gọi trên glGetError.
Công nghệ nền tảng mới
Android 4.2 bao gồm nhiều công nghệ nền tảng nâng cao mới và đa dạng để hỗ trợ các trường hợp sử dụng liên lạc đổi mới trên nhiều thiết bị phần cứng. Trong hầu hết các trường hợp, các công nghệ và tính năng nâng cao mới cho nền tảng không ảnh hưởng trực tiếp đến ứng dụng của bạn. Vì vậy, bạn có thể hưởng lợi từ chúng mà không cần sửa đổi gì.
Các tính năng nâng cao về bảo mật
Mỗi bản phát hành Android đều có nhiều tính năng bảo mật nâng cao để bảo vệ người dùng. Dưới đây là một số tính năng nâng cao trong Android 4.2:
- Xác minh ứng dụng – Người dùng có thể chọn bật tính năng “Xác minh ứng dụng" và cho phép trình xác minh ứng dụng sàng lọc ứng dụng trước khi cài đặt. Tính năng xác minh ứng dụng có thể cảnh báo người dùng nếu họ cố cài đặt một ứng dụng có khả năng gây hại; nếu một ứng dụng đặc biệt xấu, ứng dụng đó có thể chặn chế độ cài đặt.
- Kiểm soát tốt hơn đối với SMS trả phí – Android sẽ cung cấp thông báo nếu ứng dụng cố gắng gửi SMS đến một mã ngắn sử dụng các dịch vụ có tính phí. Điều này có thể phát sinh thêm phí. Người dùng có thể chọn cho phép ứng dụng gửi thông báo hay chặn thông báo đó.
- VPN luôn bật – VPN có thể được định cấu hình sao cho các ứng dụng sẽ không có quyền truy cập vào mạng cho đến khi kết nối VPN được thiết lập. Điều này ngăn các ứng dụng gửi dữ liệu qua các mạng khác.
- Ghim chứng chỉ – Quy trình triển khai SSL libcore hiện hỗ trợ tính năng ghim chứng chỉ. Các miền được ghim sẽ gặp lỗi xác thực chứng chỉ nếu chứng chỉ không liên kết với một tập hợp chứng chỉ dự kiến. Điều này giúp ngăn các Tổ chức phát hành chứng chỉ bị xâm phạm.
- Cải thiện khả năng hiển thị các quyền trên Android – Các quyền đã được sắp xếp thành các nhóm dễ hiểu hơn đối với người dùng. Trong quá trình xem xét các quyền, người dùng có thể nhấp vào quyền đó để xem thêm thông tin chi tiết về quyền đó.
- cài đặt cứng – Trình nền đã cài đặt không chạy với tư cách người dùng gốc, làm giảm bề mặt tấn công tiềm ẩn để chuyển lên đặc quyền gốc.
- tăng cứng tập lệnh init – các tập lệnh khởi tạo hiện áp dụng ngữ nghĩa O_NOfollow để ngăn chặn các cuộc tấn công liên quan đến đường liên kết tượng trưng.
- FORTIFY_SOURCE – Android hiện triển khai FORTIFY_SOURCE. API này được các ứng dụng và thư viện hệ thống dùng để ngăn ngừa hỏng bộ nhớ.
- Cấu hình mặc định của ContentProvider – Các ứng dụng nhắm đến API cấp 17 sẽ được đặt chế độ "xuất" thành "false" theo mặc định cho mỗi ContentProvider, giúp giảm bề mặt tấn công mặc định cho các ứng dụng.
- Mật mã học – Sửa đổi các phương thức triển khai mặc định của SecureRandom và Cipher.RSA để sử dụng OpenSSL. Thêm tính năng hỗ trợ SSLSocket cho TLS phiên bản 1.1 và TLS phiên bản 1.2 bằng OpenSSL 1.0.1
- Sửa lỗi bảo mật – Các thư viện nguồn mở được nâng cấp có các bản sửa lỗi bảo mật bao gồm WebKit, libpng, OpenSSL và LibXML. Android 4.2 cũng bao gồm các bản sửa lỗi cho các lỗ hổng bảo mật dành riêng cho Android. Chúng tôi đã cung cấp thông tin về các lỗ hổng này cho các thành viên của Open Handset Alliance và bản sửa lỗi cũng có trong Dự án nguồn mở Android. Để cải thiện khả năng bảo mật, một số thiết bị chạy các phiên bản Android cũ cũng có thể có các bản sửa lỗi này.
Ngăn xếp Bluetooth mới
Android 4.2 giới thiệu một ngăn xếp Bluetooth mới được tối ưu hoá để sử dụng với các thiết bị Android. Ngăn xếp Bluetooth mới được phát triển khi cộng tác giữa Google và Broadcom sẽ thay thế ngăn xếp dựa trên BlueZ, đồng thời cải thiện khả năng tương thích và độ tin cậy.Âm thanh có độ trễ thấp
Android 4.2 cải thiện khả năng hỗ trợ phát âm thanh có độ trễ thấp, bắt đầu từ những điểm cải tiến trong bản phát hành Android 4.1 về độ trễ đầu ra âm thanh bằng cách sử dụng các API OpenSL ES, Soundpool và trình tạo âm. Những điểm cải tiến này phụ thuộc vào khả năng hỗ trợ phần cứng – những thiết bị cung cấp các tính năng âm thanh có độ trễ thấp này có thể quảng cáo khả năng hỗ trợ cho ứng dụng thông qua một hằng số tính năng phần cứng. Các API AudioManager mới được cung cấp để truy vấn tốc độ lấy mẫu âm thanh gốc và dung lượng bộ nhớ đệm, nhằm sử dụng trên các thiết bị xác nhận tính năng này.
Giao diện phần cứng máy ảnh mới
Android 4.2 giới thiệu cách triển khai mới cho ngăn xếp máy ảnh. Hệ thống con của máy ảnh bao gồm việc triển khai các thành phần trong quy trình máy ảnh, chẳng hạn như chụp chế độ hàng loạt có các tuỳ chọn điều khiển xử lý.Giao diện phần cứng NFC và bộ điều khiển mới
Android 4.2 ra mắt tính năng hỗ trợ cho các bộ điều khiển dựa trên tiêu chuẩn NCI từ Diễn đàn NFC. NCI cung cấp một giao thức liên lạc tiêu chuẩn giữa Bộ điều khiển NFC (NFCC) và Máy chủ lưu trữ thiết bị, cũng như ngăn xếp NFC mới được phát triển trong quá trình cộng tác giữa Google và Broadcom sẽ hỗ trợ giao thức này.Tối ưu hoá thời gian chạy Dalvik
Thời gian chạy Dalvik có các tính năng nâng cao về hiệu suất và bảo mật trên nhiều cấu trúc hơn:
- Hỗ trợ JIT x86 từ Intel và MIPS JIT qua MIPS
- Tham số thu gom rác được tối ưu hoá cho các thiết bị có kích thước > 512 MB
- Phương thức triển khai mặc định của SecureRandom và Cipher.RSA hiện sử dụng OpenSSL
- Hỗ trợ SSLSocket cho TLS phiên bản 1.1 và TLS phiên bản 1.2 qua OpenSSL 1.0.1
- Hỗ trợ nội tại mới cho các phương thức StrictMath AB, min, max và sqrt
- Đã cập nhật BouncyCastle thành 1.47
- đã cập nhật zlib lên 1.27
- dlmalloc đã cập nhật lên 2.8.6
Android 4.1
![](https://developer.android.google.cn/static/images/jb-android-4.1.png?authuser=19&hl=vi)
Chào mừng bạn đến với Android 4.1 phiên bản đầu tiên của Jelly Bean!
Android 4.1 là phiên bản Android nhanh và mượt nhất từ trước đến nay. Chúng tôi đã thực hiện các điểm cải tiến trên toàn bộ nền tảng này, đồng thời bổ sung các tính năng mới tuyệt vời cho người dùng và nhà phát triển. Tài liệu này cung cấp thông tin sơ lược về những điểm mới dành cho nhà phát triển.
Xem tài liệu về API Android 4.1 để biết thông tin chi tiết về các API mới dành cho nhà phát triển.
Tìm hiểu thêm về các tính năng của Jelly Bean dành cho người dùng tại www.android.com.
Nhanh hơn, mượt mà hơn, phản hồi nhanh hơn
Android 4.1 được tối ưu hoá để mang lại hiệu suất tốt nhất và độ trễ khi chạm thấp nhất trong một giao diện người dùng trực quan, dễ sử dụng.
Để đảm bảo tốc độ khung hình nhất quán, Android 4.1 mở rộng thời gian vsync trên tất cả các bản vẽ và ảnh động do khung Android thực hiện. Mọi thứ đều chạy theo nhịp độ chậm và dựa trên nhịp vsync 16 mili giây — hiển thị ứng dụng, sự kiện chạm, bố cục màn hình và làm mới màn hình — để khung hình không bị tiến hoặc trễ.
Android 4.1 cũng thêm bộ đệm tăng gấp ba trong quy trình đồ hoạ, để hiển thị nhất quán hơn, giúp mọi thứ đều mượt mà hơn, từ cuộn cho đến phân trang và ảnh động.
Android 4.1 làm giảm độ trễ cảm ứng không chỉ bằng cách đồng bộ hoá thao tác chạm với thời gian vsync, mà còn bằng cách thực sự dự đoán vị trí của ngón tay bạn khi làm mới màn hình. Điều này mang lại phản ứng chạm phản ứng và đồng nhất hơn. Ngoài ra, sau khoảng thời gian không hoạt động, Android sẽ áp dụng chế độ tăng cường đầu vào cho CPU ở sự kiện chạm tiếp theo để đảm bảo không có độ trễ.
Công cụ có thể giúp bạn đạt được hiệu suất tuyệt đối tốt nhất trong số các ứng dụng của mình. Android 4.1 được thiết kế để hoạt động với một công cụ mới có tên là systrace. Công cụ này thu thập dữ liệu trực tiếp từ nhân hệ điều hành Linux để cung cấp thông tin tổng thể về hoạt động của hệ thống. Dữ liệu được trình bày dưới dạng một nhóm các biểu đồ chuỗi thời gian xếp chồng theo chiều dọc, giúp tách biệt các yếu tố gây gián đoạn kết xuất và các vấn đề khác. Công cụ này hiện đã có trong SDK Android (Công cụ R20 trở lên)
![](https://developer.android.google.cn/static/images/jb-accessibility-focus-250.png?authuser=19&hl=vi)
Hỗ trợ tiếp cận nâng cao
Các API mới dành cho dịch vụ hỗ trợ tiếp cận cho phép bạn xử lý các cử chỉ và quản lý tâm điểm hỗ trợ tiếp cận khi người dùng di chuyển qua các thành phần trên màn hình và nút điều hướng bằng cử chỉ hỗ trợ tiếp cận, phụ kiện và phương thức nhập khác. Hệ thống TalkBack và tính năng khám phá theo từng thao tác được thiết kế lại nhằm sử dụng tâm điểm hỗ trợ tiếp cận giúp người dùng dễ sử dụng hơn, đồng thời cung cấp một bộ API hoàn chỉnh cho nhà phát triển.
Các dịch vụ hỗ trợ tiếp cận có thể liên kết hướng dẫn của riêng họ với chế độ cài đặt Hỗ trợ tiếp cận để giúp người dùng định cấu hình và sử dụng các dịch vụ của họ.
Những ứng dụng sử dụng thành phần Khung hiển thị chuẩn sẽ tự động kế thừa khả năng hỗ trợ cho bộ tính năng hỗ trợ tiếp cận mới mà không cần chỉnh sửa mã của các thành phần đó. Các ứng dụng dùng Khung hiển thị tuỳ chỉnh có thể dùng API nút hỗ trợ tiếp cận mới để cho biết những phần của Khung hiển thị mà các dịch vụ hỗ trợ tiếp cận quan tâm.
Hỗ trợ cho người dùng quốc tế
![](https://developer.android.google.cn/static/images/jb-r2l.png?authuser=19&hl=vi)
Văn bản hai hướng và hỗ trợ ngôn ngữ khác
Android 4.1 giúp bạn tiếp cận nhiều người dùng hơn thông qua việc hỗ trợ văn bản hai chiều trong các phần tử TextView và EditText. Ứng dụng có thể hiển thị văn bản hoặc xử lý việc chỉnh sửa văn bản bằng chữ viết từ trái sang phải hoặc từ phải sang trái. Ứng dụng có thể dùng ngôn ngữ mới tiếng Ả Rập và tiếng Do Thái cũng như phông chữ liên quan.
Các loại hỗ trợ ngôn ngữ mới khác bao gồm:
- Ngôn ngữ khác ở Ấn Độ: tiếng Kannada, tiếng Telugu và tiếng Malayalam
- Các ký tự biểu tượng cảm xúc mới từ phiên bản Unicode 6.0
- Hỗ trợ tốt hơn về ký tự cho người dùng tiếng Nhật (hiển thị các phiên bản ký tự dành riêng cho tiếng Nhật khi ngôn ngữ hệ thống được đặt thành tiếng Nhật)
- Glyph Ả Rập được tối ưu hoá cho WebView ngoài các ký tự Ả Rập cho TextView
- Hỗ trợ Văn bản dọc trong WebView, bao gồm cả Văn bản Ruby và các ký tự khác của Văn bản dọc
- Tính năng In đậm tổng hợp hiện đã được hỗ trợ cho tất cả phông chữ không có nét vẽ đậm chuyên dụng
Sơ đồ bàn phím mà người dùng có thể cài đặt
Nền tảng này hiện hỗ trợ bản đồ bàn phím mà người dùng có thể cài đặt, chẳng hạn như cho các bàn phím quốc tế bổ sung và các loại bố cục đặc biệt. Theo mặc định, Android 4.1 bao gồm 27 sơ đồ bàn phím quốc tế cho bàn phím, bao gồm cả Dvorak. Khi kết nối bàn phím, người dùng có thể chuyển đến ứng dụng Cài đặt rồi chọn một hoặc nhiều sơ đồ bàn phím mà họ muốn sử dụng cho bàn phím đó. Khi nhập, người dùng có thể chuyển đổi giữa sơ đồ bàn phím bằng phím tắt (ctrl-dấu cách).
Bạn có thể tạo một ứng dụng để phát hành sơ đồ bàn phím bổ sung lên hệ thống. Tệp APK sẽ bao gồm các tài nguyên bố cục bàn phím trong đó, dựa trên định dạng sơ đồ bàn phím tiêu chuẩn của Android. Ứng dụng có thể cung cấp các bố cục bàn phím bổ sung cho người dùng bằng cách khai báo broadcast receiver phù hợp cho ACTION_QUERY_KEYBOOK_LA niềTS trong tệp kê khai.
Những cách mới để tạo giao diện người dùng đẹp mắt
![](https://developer.android.google.cn/static/images/jb-notif-ex1.png?authuser=19&hl=vi)
Nhà phát triển có thể tạo các kiểu thông báo tuỳ chỉnh như trong các ví dụ ở trên để cho thấy hành động và nội dung đa dạng thức.
Thông báo có thể mở rộng
Thông báo từ lâu đã là một tính năng độc đáo và phổ biến trên Android. Nhà phát triển có thể sử dụng các lớp này để hiển thị thông tin quan trọng hoặc dựa trên thời gian cho người dùng trên thanh thông báo, bên ngoài giao diện người dùng thông thường của ứng dụng.
Android 4.1 mang đến một bản cập nhật lớn cho khung thông báo của Android. Giờ đây, các ứng dụng có thể hiển thị thông báo lớn hơn và phong phú hơn cho người dùng. Họ có thể mở rộng và thu gọn thông báo bằng thao tác chụm hoặc vuốt. Thông báo hỗ trợ các loại nội dung mới, bao gồm cả ảnh, có mức độ ưu tiên có thể định cấu hình và thậm chí có thể bao gồm nhiều hành động.
Thông qua trình tạo thông báo được cải tiến, các ứng dụng có thể tạo thông báo sử dụng khu vực lớn hơn, cao tối đa 256 dp. Có 3 kiểu thông báo theo mẫu:
- BigTextStyle – một thông báo bao gồm một đối tượng TextView nhiều dòng.
- Big InboxStyle – một thông báo hiển thị bất kỳ loại danh sách nào chẳng hạn như tin nhắn, dòng tiêu đề, v.v.
- BigPictureStyle – một thông báo hiển thị nội dung hình ảnh như bitmap.
Ngoài các kiểu theo mẫu, bạn có thể tạo kiểu thông báo của riêng mình bằng bất kỳ Chế độ xem từ xa nào.
Các ứng dụng có thể thêm tối đa 3 hành động vào một thông báo. Hành động này sẽ hiển thị bên dưới nội dung thông báo. Các thao tác này cho phép người dùng phản hồi trực tiếp thông tin trong thông báo theo nhiều cách khác (chẳng hạn như qua email hoặc cuộc gọi điện thoại) mà không cần truy cập vào ứng dụng.
Nhờ thông báo có thể mở rộng, ứng dụng có thể cung cấp thêm thông tin cho người dùng một cách dễ dàng và theo yêu cầu. Người dùng vẫn nắm quyền kiểm soát và có thể nhấn và giữ bất kỳ thông báo nào để nhận thông tin về người gửi cũng như không bắt buộc tắt các thông báo khác từ ứng dụng.
![](https://developer.android.google.cn/static/images/jb-appwidgets.png?authuser=19&hl=vi)
Tiện ích ứng dụng có thể tự động đổi kích thước cho vừa với màn hình chính và tải nội dung khác nhau khi kích thước thay đổi.
Tiện ích ứng dụng có thể thay đổi kích thước
Android 4.1 ra mắt Tiện ích ứng dụng được cải tiến có thể tự động đổi kích thước, dựa trên vị trí người dùng thả chúng trên màn hình chính, kích thước mà người dùng mở rộng chúng và không gian còn trống trên màn hình chính. API Tiện ích ứng dụng mới cho phép bạn tận dụng lợi thế này để tối ưu hoá nội dung tiện ích ứng dụng khi kích thước của tiện ích thay đổi.
Khi một tiện ích thay đổi kích thước, hệ thống sẽ thông báo cho nhà cung cấp tiện ích của ứng dụng lưu trữ để họ có thể tải lại nội dung trong tiện ích đó khi cần. Ví dụ: một tiện ích có thể hiển thị đồ hoạ lớn hơn, phong phú hơn hoặc hiển thị chức năng hay tuỳ chọn bổ sung. Nhà phát triển vẫn có thể kiểm soát kích thước tối đa và tối thiểu, đồng thời có thể cập nhật các tuỳ chọn tiện ích khác bất cứ khi nào cần.
Bạn cũng có thể cung cấp bố cục ngang và dọc riêng biệt cho các tiện ích của mình. Hệ thống sẽ mở rộng bố cục này khi thích hợp khi hướng màn hình thay đổi.
Giờ đây, các tiện ích ứng dụng có thể được hiển thị trong trình chạy của bên thứ ba và ứng dụng lưu trữ khác thông qua một Ý định liên kết mới (AppWidgetManager.ACTION_APP đại_BIND).
Điều hướng công việc được đơn giản hoá
Android 4.1 giúp bạn dễ dàng quản lý thao tác điều hướng "Lên" dành cho người dùng từ bên trong ứng dụng và giúp đảm bảo trải nghiệm nhất quán cho người dùng.
Bạn có thể xác định thao tác Điều hướng Lên cho từng thành phần Hoạt động trong giao diện người dùng bằng cách thêm thuộc tính XML mới vào tệp kê khai của ứng dụng. Trong thời gian chạy, khi các Hoạt động được khởi chạy, hệ thống sẽ trích xuất cây điều hướng Mũi tên lên từ tệp kê khai và tự động tạo thành phần điều hướng Thành phần đi lên trong thanh thao tác. Các nhà phát triển khai báo tính năng điều hướng Lên trong tệp kê khai không cần quản lý hoạt động điều hướng bằng lệnh gọi lại trong thời gian chạy nữa, mặc dù họ cũng có thể làm như vậy nếu cần.
Ngoài ra còn có một lớp TaskStackBuilder mới cho phép bạn nhanh chóng tập hợp một ngăn xếp tác vụ tổng hợp để bắt đầu ngay lập tức hoặc để sử dụng khi một Hoạt động được khởi chạy từ PendingIntent. Việc tạo ngăn xếp tác vụ tổng hợp đặc biệt hữu ích khi người dùng chạy Hoạt động từ khung hiển thị từ xa, chẳng hạn như từ thông báo và tiện ích trên Màn hình chính, vì ngăn xếp này cho phép nhà phát triển cung cấp trải nghiệm nhất quán, được quản lý trong tính năng Điều hướng quay lại.
Ảnh động dễ dàng để khởi chạy Hoạt động
Bạn có thể sử dụng một lớp trợ giúp mới, ActivityOptions, để tạo và kiểm soát ảnh động hiển thị khi bạn chạy Hoạt động của mình. Thông qua lớp trợ giúp, bạn có thể chỉ định tài nguyên ảnh động tuỳ chỉnh sẽ được dùng khi chạy hoạt động này, hoặc yêu cầu ảnh động thu phóng mới bắt đầu từ bất kỳ hình chữ nhật nào mà bạn chỉ định trên màn hình và tuỳ ý bao gồm một bitmap của hình thu nhỏ.
Chuyển đổi sang chế độ Tắt đèn và chế độ toàn màn hình
Cờ giao diện người dùng hệ thống mới trong Chế độ xem cho phép bạn chuyển đổi dễ dàng từ giao diện người dùng thông thường của ứng dụng (với thanh thao tác, thanh điều hướng và thanh hệ thống hiển thị) sang "chế độ tắt đèn" (với thanh trạng thái và thanh thao tác bị ẩn và thanh điều hướng được làm mờ) hoặc "chế độ toàn màn hình" (với thanh trạng thái, thanh thao tác và thanh điều hướng đều ẩn).
Các loại Chế độ xem có thể từ xa mới
Giờ đây, nhà phát triển có thể dùng các chế độ xem GridLayout và ViewStub trong các thông báo và tiện ích trên Màn hình chính. GridLayout cho phép bạn định cấu trúc nội dung của chế độ xem từ xa và quản lý cách căn chỉnh chế độ xem con với hệ phân cấp giao diện người dùng nông hơn. ViewStub là một Khung hiển thị vô hình, có kích thước bằng 0, có thể dùng để tăng cường từng phần tài nguyên bố cục trong thời gian chạy.
Xem trước hình nền động
Android 4.1 giúp người dùng tìm và cài đặt Hình nền động dễ dàng hơn từ các ứng dụng có chứa hình nền động. Nếu ứng dụng của bạn có Hình nền động thì giờ đây bạn có thể bắt đầu một Hoạt động (ACTION_CHANGE_LIVE_WALLPAPER) để cho người dùng thấy bản xem trước của Hình nền động từ ứng dụng của bạn. Từ bản xem trước, người dùng có thể tải trực tiếp Hình nền động.
Ảnh người liên hệ có độ phân giải cao hơn
Với Android 4.1, bạn có thể lưu trữ ảnh người liên hệ có kích thước lớn tới 720 x 720, giúp danh bạ trở nên phong phú và cá nhân hơn. Các ứng dụng có thể lưu trữ và truy xuất ảnh của người liên hệ ở kích thước đó hoặc sử dụng bất kỳ kích thước nào khác cần thiết. Kích thước ảnh tối đa được hỗ trợ trên các thiết bị cụ thể có thể khác nhau. Vì vậy, ứng dụng nên truy vấn trình cung cấp danh bạ tích hợp sẵn trong thời gian chạy để có được kích thước tối đa cho thiết bị hiện tại.
Các loại và khả năng đầu vào mới
Tìm hiểu về những thiết bị được thêm và xoá
Các ứng dụng có thể đăng ký để được thông báo khi có bất kỳ thiết bị đầu vào mới nào được kết nối qua USB, Bluetooth hoặc bất kỳ loại kết nối nào khác. Họ có thể sử dụng thông tin này để thay đổi trạng thái hoặc chức năng nếu cần. Ví dụ: một trò chơi có thể nhận được thông báo về việc một bàn phím hoặc cần điều khiển mới được gắn vào, cho biết đã có người chơi mới.
Truy vấn khả năng của thiết bị đầu vào
Android 4.1 bao gồm các API cho phép ứng dụng và trò chơi tận dụng tối đa mọi thiết bị đầu vào đã được kết nối và có sẵn.
Các ứng dụng có thể truy vấn trình quản lý thiết bị để liệt kê tất cả thiết bị đầu vào hiện được đính kèm và tìm hiểu về chức năng của từng thiết bị.
Điều khiển bộ rung trên thiết bị đầu vào
Giờ đây, ứng dụng có thể dùng bất kỳ dịch vụ rung nào được liên kết với một thiết bị đầu vào đi kèm, chẳng hạn như bộ điều khiển Rumble Pak.
Ảnh động và đồ hoạ
Vsync cho ứng dụng
Việc mở rộng vsync trên khung Android sẽ dẫn đến tốc độ khung hình nhất quán hơn và giao diện người dùng mượt mà, ổn định. Để các ứng dụng cũng được hưởng lợi, Android 4.1 mở rộng thời gian vsync cho tất cả các bản vẽ và ảnh động do các ứng dụng khởi tạo. Điều này cho phép các API này tối ưu hoá các hoạt động trên luồng giao diện người dùng và cung cấp cơ sở thời gian ổn định cho quá trình đồng bộ hoá.
Các ứng dụng có thể tận dụng miễn phí thời gian vsync thông qua khung ảnh động của Android. Khung ảnh động hiện sử dụng thời gian vsync để tự động xử lý đồng bộ hoá giữa các ảnh động.
Đối với các mục đích sử dụng chuyên biệt, các ứng dụng có thể truy cập vào thời gian vsync thông qua các API do lớp Choreographer mới hiển thị. Các ứng dụng có thể yêu cầu vô hiệu hoá trên khung vsync tiếp theo – một cách hay để lên lịch ảnh động khi ứng dụng không sử dụng khung ảnh động. Để sử dụng nâng cao hơn, ứng dụng có thể đăng một lệnh gọi lại mà lớp Choreographer sẽ chạy trên khung tiếp theo.
Các thao tác và kiểu chuyển đổi mới cho ảnh động
Khung ảnh động hiện cho phép bạn xác định các hành động bắt đầu và kết thúc cần thực hiện khi chạy ảnh động ViewPropertyAnimator, để giúp đồng bộ hoá các ảnh động này với các ảnh động hoặc thao tác khác trong ứng dụng. Thao tác này có thể chạy bất kỳ đối tượng nào có thể chạy. Ví dụ: tệp có thể chạy có thể chỉ định một ảnh động khác để bắt đầu khi ảnh động trước đó kết thúc.
Giờ đây, bạn cũng có thể chỉ định rằng ViewPropertyAnimator sử dụng một lớp trong quá trình tạo ảnh động. Trước đây, phương pháp hay nhất là tạo ảnh động cho các khung hiển thị phức tạp bằng cách thiết lập một lớp trước khi bắt đầu tạo ảnh động, sau đó xử lý sự kiện onAnimationEnd() để xoá lớp khi ảnh động kết thúc. Giờ đây, phương thức withLayer() trên ViewPropertyAnimator giúp đơn giản hoá quy trình này bằng một lệnh gọi phương thức duy nhất.
Loại chuyển đổi mới trong LayoutTransition cho phép bạn tự động hoá ảnh động để phản hồi tất cả các thay đổi về bố cục trong một ViewGroup.
Các loại hình kết nối mới
Android Beam
Android Beam là công nghệ dựa trên NFC phổ biến cho phép người dùng chia sẻ ngay lập tức, chỉ cần chạm hai điện thoại hỗ trợ NFC với nhau.
Trong Android 4.1, tính năng Truyền dữ liệu Android giúp bạn dễ dàng chia sẻ hình ảnh, video hoặc các tải trọng khác bằng cách tận dụng Bluetooth để chuyển dữ liệu. Khi người dùng kích hoạt quá trình chuyển, Android Beam sẽ chuyển giao từ NFC sang Bluetooth, giúp bạn dễ dàng quản lý quá trình chuyển tệp từ thiết bị này sang thiết bị khác.
Khám phá dịch vụ mạng Wi-Fi
Android 4.1 giới thiệu tính năng hỗ trợ khám phá dịch vụ dựa trên DNS phát đa hướng, cho phép các ứng dụng tìm và kết nối với dịch vụ do các thiết bị ngang hàng cung cấp qua mạng Wi-Fi — bao gồm thiết bị di động, máy in, máy ảnh, trình phát nội dung đa phương tiện và các thiết bị khác. Nhà phát triển có thể tận dụng tính năng khám phá dịch vụ mạng Wi-Fi để xây dựng trải nghiệm ứng dụng và trò chơi trên nhiều nền tảng hoặc nhiều người chơi.
Bằng cách sử dụng API khám phá dịch vụ, các ứng dụng có thể tạo và đăng ký bất kỳ loại dịch vụ nào để mọi thiết bị khác có hỗ trợ NSD phát hiện được. Dịch vụ này được quảng cáo bằng chế độ đa hướng trên mạng bằng cách sử dụng giá trị nhận dạng dạng chuỗi mà con người có thể đọc được, giúp người dùng dễ dàng xác định loại dịch vụ.
Các thiết bị tiêu dùng có thể sử dụng API này để quét và khám phá các dịch vụ có sẵn trên các thiết bị kết nối với mạng Wi-Fi cục bộ. Sau khi phát hiện, các ứng dụng có thể sử dụng API này để phân giải dịch vụ tới một địa chỉ IP và cổng mà qua đó API có thể thiết lập kết nối với ổ cắm.
Bạn có thể tận dụng API này để tích hợp các tính năng mới vào ứng dụng của mình. Ví dụ: bạn có thể cho phép người dùng kết nối với webcam, máy in hoặc ứng dụng trên một thiết bị di động khác có hỗ trợ kết nối ngang hàng Wi-Fi.
Khám phá dịch vụ Wi-Fi P2P
Ice Kem Sandwich giới thiệu tính năng hỗ trợ Wi-Fi ngang hàng (P2P), một công nghệ cho phép các ứng dụng khám phá và ghép nối trực tiếp, qua kết nối ngang hàng băng thông cao (tuân thủ chương trình chứng nhận Wi-Fi DirectTM của Wi-Fi Alliance). Wi-Fi P2P là cách lý tưởng để chia sẻ nội dung nghe nhìn, ảnh, tệp cũng như các loại dữ liệu và phiên khác, ngay cả khi không có mạng di động hoặc Wi-Fi.
Android 4.1 cải tiến Wi-Fi P2P hơn nữa, bổ sung tính năng hỗ trợ API để khám phá dịch vụ liên kết trước. Khi thiết bị khám phá dịch vụ được liên kết sẵn, ứng dụng của bạn có thể nhận được nhiều thông tin hữu ích hơn về dịch vụ mà các thiết bị ở gần hỗ trợ trước khi ứng dụng tìm cách kết nối. Các ứng dụng có thể bắt đầu khám phá một dịch vụ cụ thể và lọc danh sách các thiết bị đã phát hiện thành những thiết bị thực sự hỗ trợ dịch vụ hoặc ứng dụng mục tiêu.
Ví dụ: điều này có nghĩa là ứng dụng của bạn chỉ có thể phát hiện các thiết bị là "máy in" hoặc có sẵn một trò chơi cụ thể, thay vì phát hiện tất cả các thiết bị P2P Wi-Fi ở gần. Mặt khác, ứng dụng của bạn có thể quảng cáo dịch vụ mà ứng dụng cung cấp cho các thiết bị khác. Các thiết bị này có thể khám phá ứng dụng của bạn và sau đó thương lượng kết nối. Điều này giúp đơn giản hoá quá trình khám phá và ghép nối cho người dùng, đồng thời cho phép các ứng dụng tận dụng Wi-Fi P2P hiệu quả hơn.
Với tính năng khám phá dịch vụ Wi-Fi P2P, bạn có thể tạo ứng dụng và trò chơi nhiều người chơi có thể chia sẻ ảnh, video, lối chơi, điểm số hoặc hầu hết nội dung khác — tất cả mà không cần Internet hoặc mạng di động. Người dùng của bạn chỉ có thể kết nối bằng kết nối p2p trực tiếp, nhờ đó tránh sử dụng băng thông di động.
Quản lý băng thông mạng
Android 4.1 giúp các ứng dụng quản lý mức sử dụng dữ liệu một cách phù hợp khi thiết bị kết nối với mạng có đo lượng dữ liệu, bao gồm cả việc chia sẻ Internet với điểm phát sóng di động. Các ứng dụng có thể truy vấn xem mạng hiện tại có được đo lượng dữ liệu hay không trước khi bắt đầu một lượt tải xuống lớn (có thể sẽ tương đối tốn kém đối với người dùng). Thông qua API, giờ đây bạn có thể nắm rõ những mạng nào nhạy cảm với việc sử dụng dữ liệu và quản lý hoạt động mạng của mình sao cho phù hợp.
Các tính năng mới về nội dung nghe nhìn
Truy cập bộ mã hoá và giải mã nội dung nghe nhìn
Android 4.1 cung cấp quyền truy cập cấp thấp vào các bộ giải mã (codec) phần cứng và phần mềm của nền tảng. Các ứng dụng có thể truy vấn hệ thống để tìm hiểu những bộ mã hoá và giải mã nội dung nghe nhìn cấp thấp có trên thiết bị, sau đó sử dụng theo những cách cần thiết. Ví dụ: giờ đây, bạn có thể tạo nhiều phiên bản của một bộ mã hoá và giải mã nội dung nghe nhìn, vùng đệm đầu vào hàng đợi và đổi lại nhận vùng đệm đầu ra. Ngoài ra, khung bộ mã hoá và giải mã nội dung đa phương tiện hỗ trợ nội dung được bảo vệ. Các ứng dụng có thể truy vấn một bộ mã hoá và giải mã có sẵn có thể phát nội dung được bảo vệ bằng giải pháp DRM có sẵn trên thiết bị.
Âm thanh USB
Tính năng hỗ trợ đầu ra âm thanh USB cho phép các nhà cung cấp phần cứng xây dựng phần cứng như đế sạc âm thanh để kết nối với các thiết bị Android. Chức năng này cũng đi kèm với Bộ phát triển phụ kiện mở (ADK) của Android để giúp tất cả nhà phát triển có cơ hội tạo phần cứng của riêng mình.
Kích hoạt bản ghi âm
Android hiện cho phép bạn kích hoạt bản ghi âm dựa trên việc hoàn thành bản phát âm thanh. Tính năng này hữu ích trong những trường hợp như phát lại một âm để gợi ý người dùng bắt đầu nói nhằm ghi âm giọng nói của họ. Tính năng này giúp bạn đồng bộ hoá bản ghi để không ghi âm hiện đang phát lại và ngăn bản ghi bắt đầu quá muộn.
Âm thanh đa kênh
Android 4.1 hỗ trợ âm thanh đa kênh trên các thiết bị có phần cứng âm thanh đa kênh thông qua cổng HDMI. Âm thanh đa kênh giúp bạn mang đến trải nghiệm nội dung đa phương tiện cho người dùng trong các ứng dụng như trò chơi, ứng dụng nhạc và trình phát video. Đối với các thiết bị không có phần cứng được hỗ trợ, Android sẽ tự động kết hợp âm thanh với số lượng kênh mà thiết bị hỗ trợ (thường là âm thanh nổi).
Android 4.1 cũng bổ sung tính năng hỗ trợ tích hợp để mã hoá/giải mã âm thanh AAC 5.1.
Xử lý trước âm thanh
Nhà phát triển có thể áp dụng hiệu ứng xử lý trước cho âm thanh đang được ghi lại, chẳng hạn như áp dụng tính năng khử tiếng ồn để cải thiện chất lượng ghi âm giọng nói, loại bỏ tiếng vọng đối với tiếng vọng âm thanh và kiểm soát độ khuếch đại tự động đối với âm thanh có mức âm lượng không nhất quán. Những ứng dụng yêu cầu bản ghi âm rõ ràng và chất lượng cao sẽ được hưởng lợi từ các bộ tiền xử lý này.
Tạo chuỗi âm thanh
MediaPlayer hỗ trợ chuỗi các luồng âm thanh với nhau để phát tệp âm thanh mà không tạm dừng. Điều này hữu ích cho các ứng dụng yêu cầu chuyển đổi liền mạch giữa các tệp âm thanh (chẳng hạn như trình phát nhạc) để phát các đĩa nhạc có các bản nhạc hoặc trò chơi liên tục.
Bộ định tuyến nội dung nghe nhìn
Các API MediaRouter, MediaRouteActionProvider và MediaMediaButton mới cung cấp các cơ chế và giao diện người dùng tiêu chuẩn để chọn vị trí phát nội dung nghe nhìn. Tính năng hỗ trợ được tích hợp sẵn cho tai nghe có dây, tai nghe và loa Bluetooth a2dp. Bạn có thể thêm các tuỳ chọn định tuyến của riêng mình trong ứng dụng của riêng mình.
Tính toán RenderScript
Android 4.1 mở rộng tính toán Renderscript để giúp bạn linh hoạt hơn. Bạn hiện có thể kết cấu mẫu trong tập lệnh tính toán Renderscript và có sẵn các pragmas mới để xác định độ chính xác của dấu phẩy động theo yêu cầu của tập lệnh. Điều này cho phép bạn bật các lệnh NEON, chẳng hạn như các phép toán vectơ nhanh trên đường dẫn CPU, điều này sẽ không thể thực hiện được với tiêu chuẩn IEEE 754-2008 đầy đủ.
Bây giờ, bạn có thể gỡ lỗi tập lệnh tính toán Renderscript trên trình mô phỏng và thiết bị phần cứng dựa trên x86. Bạn cũng có thể xác định nhiều hạt nhân kiểu gốc trong một tệp nguồn Renderscript.
Trình duyệt Android và WebView
Trong Android 4.1, Trình duyệt Android và WebView có các tính năng nâng cao sau đây:
- Trải nghiệm người dùng video HTML5 tốt hơn, bao gồm chạm để phát/tạm dừng và chuyển đổi suôn sẻ từ chế độ nội tuyến sang chế độ toàn màn hình.
- Cải thiện tốc độ kết xuất và giảm mức sử dụng bộ nhớ để cải thiện hiệu suất cuộn và thu phóng.
- Cải thiện hiệu suất ảnh động HTML5/CSS3/Canvas.
- Cải thiện tính năng nhập văn bản.
- Cập nhật Công cụ JavaScript (V8) để tăng hiệu suất JavaScript.
- Hỗ trợ cho thông số kỹ thuật chụp ảnh nội dung đa phương tiện HTML5 đã cập nhật (thuộc tính "capture" trên loại đầu vào=phần tử tệp).
API và dịch vụ của Google
Để mở rộng khả năng của Android hơn nữa, nhiều dịch vụ mới dành cho Android đã được cung cấp.
Google nhắn tin qua đám mây dành cho Android
Google Cloud Messaging (GCM) là dịch vụ cho phép nhà phát triển gửi dữ liệu tin nhắn ngắn cho người dùng trên thiết bị Android mà không cần giải pháp đồng bộ hóa độc quyền.
GCM xử lý tất cả thông tin chi tiết về việc xếp hàng tin nhắn và gửi tin nhắn một cách hiệu quả tới các thiết bị Android được nhắm mục tiêu. Dịch vụ này hỗ trợ tính năng phát đa hướng tin nhắn và có thể tiếp cận đồng thời lên đến 1000 thiết bị được kết nối chỉ với một yêu cầu duy nhất. Phiên bản này cũng hỗ trợ tải trọng tin nhắn, nghĩa là ngoài việc gửi tin nhắn tích tắc tới một ứng dụng trên thiết bị, nhà phát triển còn có thể gửi tối đa 4K dữ liệu.
Google Cloud Messaging hoàn toàn miễn phí cho tất cả các nhà phát triển và đăng ký dễ dàng. Xem trang Gửi thông báo qua đám mây của Google để đăng ký, tải xuống và tài liệu.
Mã hoá ứng dụng
Bắt đầu từ Android 4.1, Google Play sẽ giúp bảo vệ tài sản ứng dụng bằng cách mã hoá tất cả ứng dụng có tính phí bằng khoá dành riêng cho thiết bị trước khi được phân phối và lưu trữ trên thiết bị.
Bản cập nhật ứng dụng thông minh
Cập nhật ứng dụng thông minh là một tính năng mới của Google Play mang đến một cách tốt hơn để phân phối bản cập nhật ứng dụng cho thiết bị. Khi nhà phát triển phát hành bản cập nhật, Google Play hiện chỉ cung cấp các bit đã thay đổi cho thiết bị, chứ không phải toàn bộ APK. Điều này giúp các bản cập nhật nhẹ hơn nhiều trong hầu hết các trường hợp, nhờ đó tốc độ tải xuống, tiết kiệm pin thiết bị và tiết kiệm mức sử dụng băng thông trong gói dữ liệu di động của người dùng. Trung bình, một bản cập nhật ứng dụng thông minh có kích thước bằng khoảng 1/3 của bản cập nhật APK đầy đủ.
Dịch vụ Google Play
Các dịch vụ của Google Play giúp nhà phát triển tích hợp các dịch vụ của Google (chẳng hạn như tính năng xác thực) vào những ứng dụng do Google Play phân phối.
Dịch vụ Google Play được Google Play tự động cấp phép cho thiết bị của người dùng cuối, vì vậy, bạn chỉ cần một thư viện ứng dụng mỏng trong các ứng dụng của mình.
Vì ứng dụng của bạn chỉ chứa thư viện ứng dụng nhỏ, nên bạn có thể tận dụng các dịch vụ này mà không làm tăng kích thước tải xuống và dung lượng lưu trữ lớn. Ngoài ra, Google Play sẽ phân phối các bản cập nhật thường xuyên cho các dịch vụ mà không cần nhà phát triển cần phải xuất bản bản cập nhật ứng dụng để tận dụng các dịch vụ này.
Để biết thêm thông tin về các API có trong Dịch vụ Google Play, hãy xem trang dành cho nhà phát triển Dịch vụ Google Play.