![Android 4.4 trên điện thoại và máy tính bảng](https://developer.android.google.cn/static/images/kk-devices.png?authuser=9&hl=vi)
Chào mừng bạn đến với Android 4.4 KitKat!
Android KitKat mang những tính năng tiên tiến, đẹp mắt và hữu ích nhất của Android đến với nhiều thiết bị hơn tại mọi nơi.
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.
Tìm hiểu thêm về KitKat dành cho người tiêu dùng tại www.android.com.
Xây dựng Android cho mọi người
Android 4.4 được thiết kế để chạy nhanh, mượt mà và phản hồi nhanh trên nhiều loại thiết bị hơn bao giờ hết — bao gồm cả hàng triệu thiết bị cấp thấp trên khắp thế giới có RAM 512 MB.
KitKat đơn giản hoá mọi thành phần chính để giảm mức sử dụng bộ nhớ, đồng thời giới thiệu các API và công cụ mới nhằm giúp bạn tạo ra những ứng dụng tiên tiến, phản hồi nhanh và tiết kiệm bộ nhớ.
Các OEM (Nhà sản xuất thiết bị gốc) tạo nên thiết bị Android thế hệ mới có thể tận dụng các đề xuất và tuỳ chọn được nhắm mục tiêu để chạy Android 4.4 một cách hiệu quả, ngay cả trên những thiết bị có bộ nhớ thấp. Tính năng điều chỉnh bộ nhớ đệm của mã Dalvik JIT, hợp nhất cùng một trang hạt nhân (KSM), hoán đổi sang zRAM và các hoạt động tối ưu hoá khác giúp quản lý bộ nhớ. Các tuỳ chọn cấu hình mới cho phép OEM (Nhà sản xuất thiết bị gốc) điều chỉnh mức sử dụng bộ nhớ cho các quy trình, đặt kích thước bộ nhớ đệm đồ hoạ, kiểm soát việc thu hồi bộ nhớ và làm nhiều việc khác.
Trong Android, các thay đổi trên toàn hệ thống sẽ giúp cải thiện việc quản lý bộ nhớ và giảm mức sử dụng bộ nhớ. Các quy trình cốt lõi của hệ thống được cắt bớt để sử dụng ít vùng nhớ khối xếp hơn. Giờ đây, các quy trình này bảo vệ bộ nhớ hệ thống một cách linh hoạt hơn khỏi các ứng dụng ngốn dung lượng RAM lớn. Khi nhiều dịch vụ khởi động cùng một lúc, chẳng hạn như khi kết nối mạng thay đổi, giờ đây, Android sẽ chạy các dịch vụ theo cách tuần tự (theo nhóm nhỏ) để tránh nhu cầu sử dụng bộ nhớ cao nhất.
Đối với các nhà phát triển, Android 4.4 giúp bạn phân phối các ứng dụng hiệu quả và có khả năng thích ứng trên mọi thiết bị. API mới, ActivityManager.isLowRamDevice(), cho phép bạn điều chỉnh hành vi của ứng dụng cho phù hợp với cấu hình bộ nhớ của thiết bị. Bạn có thể sửa đổi hoặc tắt các tính năng có bộ nhớ lớn nếu cần, tuỳ thuộc vào các trường hợp sử dụng mà bạn muốn hỗ trợ trên thiết bị cấp thấp. Tìm hiểu thêm về cách tối ưu hoá ứng dụng cho các thiết bị có bộ nhớ thấp tại đây.
Các công cụ mới cũng cung cấp cho bạn thông tin chi tiết hữu ích về mức sử dụng bộ nhớ của ứng dụng. Công cụ Prostats nêu chi tiết mức sử dụng bộ nhớ theo thời gian, với thời gian chạy và mức sử dụng bộ nhớ cho các ứng dụng trên nền trước cũng như dịch vụ nền. Chế độ xem trên thiết bị cũng có sẵn dưới dạng một tuỳ chọn mới cho nhà phát triển. Công cụ meeminfo được cải tiến để giúp bạn dễ dàng phát hiện các xu hướng và vấn đề về bộ nhớ hơn, đồng thời cho thấy thêm mức hao tổn bộ nhớ mà trước đây chưa từng thấy.
Các chức năng NFC mới thông qua quy trình Mô phỏng thẻ máy chủ
Android 4.4 ra mắt nền tảng hỗ trợ mới cho các giao dịch bảo mật dựa trên NFC thông qua tính năng Mô phỏng thẻ lưu trữ (HCE), cho hoạt động thanh toán, chương trình khách hàng thân thiết, truy cập thẻ, thẻ đi phương tiện công cộng và các dịch vụ tuỳ chỉnh khác. Với HCE, mọi ứng dụng trên thiết bị Android đều có thể mô phỏng thẻ thông minh NFC, cho phép người dùng nhấn để bắt đầu giao dịch bằng một ứng dụng mà họ chọn mà không cần phần tử bảo mật (SE) được cấp phép trong thiết bị. Các ứng dụng cũng có thể dùng Chế độ đọc mới để hoạt động như trình đọc thẻ HCE và các giao dịch dựa trên NFC khác.
![Biểu tượng không tiếp xúc](https://developer.android.google.cn/static/images/kk-contactless-card.png?authuser=9&hl=vi)
Android HCE mô phỏng thẻ thông minh dựa trên ISO/IEC 7816 sử dụng giao thức ISO/IEC 14443-4 (ISO-DEP) không tiếp xúc để truyền dữ liệu. Ngày nay, nhiều hệ thống sử dụng những thẻ này, bao gồm cả cơ sở hạ tầng thanh toán EMVCO NFC hiện có. Android sử dụng Giá trị nhận dạng ứng dụng (AID) như xác định trong ISO/IEC 7816-4 làm cơ sở để định tuyến giao dịch đến đúng ứng dụng Android.
Ứng dụng khai báo các AID được hỗ trợ trong tệp kê khai, cùng với giá trị nhận dạng danh mục cho biết loại hỗ trợ có sẵn (ví dụ: "thanh toán"). Trong trường hợp nhiều ứng dụng hỗ trợ cùng một AID trong cùng một danh mục, Android sẽ hiển thị hộp thoại cho phép người dùng chọn ứng dụng sẽ dùng.
Khi người dùng nhấn để thanh toán tại một thiết bị thanh toán tại điểm bán hàng, hệ thống sẽ trích xuất AID ưu tiên và chuyển giao dịch đến đúng ứng dụng. Ứng dụng đọc dữ liệu giao dịch và có thể dùng bất kỳ dịch vụ cục bộ hoặc dịch vụ nào trên mạng để xác minh rồi hoàn tất giao dịch.
Android HCE yêu cầu phải có tay điều khiển NFC trong thiết bị. Hiện tại, chúng tôi đã cung cấp rộng rãi tính năng hỗ trợ HCE trên hầu hết các bộ điều khiển NFC, hỗ trợ linh động cho cả giao dịch HCE và SE. Những thiết bị Android 4.4 hỗ trợ NFC sẽ có tính năng Chạm và thanh toán để dễ dàng thanh toán bằng HCE.
Khung in
Giờ đây, các ứng dụng Android có thể in mọi loại nội dung qua Wi-Fi hoặc các dịch vụ được lưu trữ trên đám mây như Google Cloud Print. Trong ứng dụng hỗ trợ in, người dùng có thể khám phá các máy in có sẵn, thay đổi kích thước giấy, chọn các trang cụ thể cần in và in hầu hết các loại tài liệu, hình ảnh hoặc tệp.
Android 4.4 ra mắt tính năng hỗ trợ nền tảng gốc cho hoạt động in, cùng với API để quản lý hoạt động in và thêm các loại hỗ trợ máy in mới. Nền tảng này cung cấp một trình quản lý in giúp trung gian giữa các ứng dụng yêu cầu dịch vụ in và dịch vụ in đã cài đặt nhằm xử lý các yêu cầu in. Trình quản lý in cung cấp các dịch vụ dùng chung và giao diện người dùng hệ thống để in, giúp người dùng kiểm soát nhất quán việc in từ mọi ứng dụng. Trình quản lý in cũng đảm bảo tính bảo mật của nội dung khi nội dung được truyền qua các quy trình, từ ứng dụng đến dịch vụ in.
![Thiết bị di động theo hướng ngang hiển thị các tính năng hỗ trợ máy in](https://developer.android.google.cn/static/images/kk-print-land-n5.jpg?authuser=9&hl=vi)
Bạn có thể thêm tính năng hỗ trợ in vào ứng dụng của mình hoặc phát triển các dịch vụ in để hỗ trợ các loại máy in cụ thể.
Nhà sản xuất máy in có thể sử dụng API mới để phát triển dịch vụ in của riêng mình – các thành phần có thể cắm giúp thêm logic và dịch vụ dành riêng cho nhà cung cấp để giao tiếp với các loại máy in cụ thể. Họ có thể tạo và phân phối dịch vụ in thông qua Google Play, giúp người dùng dễ dàng tìm thấy và cài đặt trên thiết bị của họ. Giống như các ứng dụng khác, bạn có thể cập nhật dịch vụ in bất cứ lúc nào qua mạng không dây.
Ứng dụng khách có thể dùng các API mới để thêm khả năng in vào ứng dụng mà không cần thay đổi mã quá nhiều. Trong hầu hết trường hợp, bạn sẽ thêm một thao tác in vào Thanh thao tác và giao diện người dùng để chọn các mục cần in. Bạn cũng sẽ triển khai các API để tạo lệnh in, truy vấn trình quản lý lệnh in để biết trạng thái và huỷ lệnh. Tính năng này cho phép bạn in hầu hết mọi loại nội dung, từ hình ảnh và tài liệu cục bộ đến dữ liệu mạng hoặc chế độ xem kết xuất trên canvas.
Để có khả năng tương thích rộng nhất, Android dùng PDF làm định dạng tệp chính để in. Trước khi in, ứng dụng của bạn cần tạo một phiên bản PDF được phân trang đúng cách cho nội dung của bạn. Để thuận tiện, API in cung cấp các lớp trợ giúp WebView và gốc để cho phép bạn tạo tệp PDF bằng các API vẽ tiêu chuẩn của Android. Nếu biết cách vẽ nội dung, ứng dụng của bạn có thể nhanh chóng tạo tệp PDF để in.
Hầu hết thiết bị chạy Android 4.4 sẽ bao gồm Google Cloud Print được cài đặt sẵn dưới dạng dịch vụ in, cũng như một số ứng dụng của Google hỗ trợ in, bao gồm Chrome, Drive, Thư viện và QuickOffice.
Khung truy cập bộ nhớ
Khung truy cập bộ nhớ mới giúp người dùng dễ dàng duyệt qua và mở tài liệu, hình ảnh cũng như các tệp khác trên tất cả các nhà cung cấp bộ nhớ tài liệu mà họ ưu tiên. Một giao diện người dùng chuẩn, dễ sử dụng cho phép người dùng duyệt qua các tệp và truy cập vào gần đây một cách nhất quán trên các ứng dụng và nhà cung cấp.
![Thiết bị di động cho thấy một thanh bên đang mở trong khung truy cập bộ nhớ mới](https://developer.android.google.cn/static/images/kk-saf2-n5.jpg?authuser=9&hl=vi)
![Thiết bị di động giới thiệu các dịch vụ Box tích hợp trong khung truy cập bộ nhớ mới](https://developer.android.google.cn/static/images/kk-saf1-n5.jpg?authuser=9&hl=vi)
Box và những người khác đã tích hợp các dịch vụ của họ vào khung truy cập bộ nhớ, giúp người dùng dễ dàng truy cập vào tài liệu của họ từ các ứng dụng trên hệ thống.
Các dịch vụ lưu trữ trên đám mây hoặc cục bộ có thể tham gia vào hệ sinh thái này bằng cách triển khai một lớp nhà cung cấp tài liệu mới đóng gói các dịch vụ của các dịch vụ đó. Lớp nhà cung cấp bao gồm tất cả API cần thiết để đăng ký trình cung cấp với hệ thống và quản lý hoạt động duyệt web, đọc và ghi tài liệu trong trình cung cấp. Nhà cung cấp tài liệu có thể cấp cho người dùng quyền truy cập vào mọi dữ liệu từ xa hoặc dữ liệu cục bộ có thể được biểu diễn dưới dạng tệp – từ văn bản, ảnh và hình nền cho đến video, âm thanh và nhiều dữ liệu khác.
Nếu xây dựng một nhà cung cấp tài liệu cho dịch vụ đám mây hoặc dịch vụ cục bộ, bạn có thể cung cấp dịch vụ đó cho người dùng như một phần của ứng dụng Android hiện có. Sau khi tải và cài đặt ứng dụng, người dùng sẽ có quyền truy cập tức thì vào dịch vụ của bạn từ bất kỳ ứng dụng nào tham gia khuôn khổ này. Điều này có thể giúp bạn có được cơ hội tiếp cận và tương tác với người dùng, vì người dùng sẽ tìm thấy dịch vụ của bạn dễ dàng hơn.
Nếu phát triển một ứng dụng khách quản lý tệp hoặc tài liệu, thì bạn có thể tích hợp với khung truy cập bộ nhớ bằng cách sử dụng các ý định CREATE_DOCUMENT hoặc OPEN_DOCUMENT mới để mở hoặc tạo tệp — hệ thống sẽ tự động hiển thị giao diện người dùng chuẩn để duyệt xem tài liệu, bao gồm cả mọi nhà cung cấp tài liệu hiện có.
Bạn có thể tích hợp ứng dụng khách của mình một lần cho tất cả nhà cung cấp mà không cần mã dành riêng cho nhà cung cấp. Khi người dùng thêm hoặc xoá nhà cung cấp, họ vẫn có quyền truy cập vào các dịch vụ ưu tiên trên ứng dụng của bạn mà không cần thay đổi hay cập nhật mã của bạn.
Khung truy cập bộ nhớ được tích hợp với ý định GET_CONTENT hiện có, vì vậy, người dùng cũng có thể truy cập vào tất cả nội dung và nguồn dữ liệu trước đây của họ trên giao diện người dùng hệ thống mới để duyệt web. Ứng dụng có thể tiếp tục sử dụng GET_CONTENT để cho phép người dùng nhập dữ liệu. Khung truy cập bộ nhớ và giao diện người dùng hệ thống cho việc duyệt xem giúp người dùng dễ dàng tìm và nhập dữ liệu từ nhiều nguồn hơn.
Hầu hết thiết bị chạy Android 4.4 sẽ sử dụng Google Drive và bộ nhớ cục bộ được tích hợp sẵn với vai trò là nhà cung cấp tài liệu, đồng thời các ứng dụng của Google có hỗ trợ tệp cũng sử dụng khung mới này.
Cảm biến công suất thấp
Tạo lô cho cảm biến
Android 4.4 ra mắt tính năng hỗ trợ nền tảng cho tính năng tạo lô cho cảm biến phần cứng, một tính năng tối ưu hoá mới có thể giảm đáng kể mức tiêu thụ năng lượng do các hoạt động cảm biến đang diễn ra.
Với tính năng tạo lô cho cảm biến, Android sẽ kết hợp với phần cứng thiết bị để thu thập và phân phối hiệu quả các sự kiện cảm biến theo lô, thay vì từng sự kiện khi phát hiện các sự kiện đó. Việc này giúp bộ xử lý ứng dụng của thiết bị duy trì trạng thái rảnh công suất thấp cho đến khi các lô được phân phối. Bạn có thể yêu cầu các sự kiện theo lô từ bất kỳ cảm biến nào bằng cách sử dụng trình nghe sự kiện tiêu chuẩn, đồng thời có thể kiểm soát khoảng thời gian nhận các lô. Bạn cũng có thể yêu cầu phân phối ngay các sự kiện giữa các chu kỳ theo lô.
Tính năng tạo lô cho cảm biến rất lý tưởng cho các trường hợp sử dụng lâu dài, tiết kiệm pin, chẳng hạn như các trường hợp tập thể dục, theo dõi vị trí, giám sát, v.v. Thư viện này có thể giúp ứng dụng của bạn hoạt động hiệu quả hơn và cho phép bạn liên tục theo dõi các sự kiện của cảm biến, ngay cả khi màn hình đang tắt và hệ thống đang ở chế độ ngủ.
Tính năng tạo lô cho cảm biến hiện đã có trên Nexus 5 và chúng tôi đang làm việc với các đối tác chipset để cung cấp tính năng này cho nhiều thiết bị hơn trong thời gian sớm nhất có thể.
![Thiết bị di động hiển thị tính năng hỗ trợ trình phát hiện bước mới](https://developer.android.google.cn/static/images/kk-sensors-moves-n5.jpg?authuser=9&hl=vi)
![Thiết bị di động ra mắt tính năng hỗ trợ bộ đếm bước mới](https://developer.android.google.cn/static/images/kk-sensors-runtastic-n5.jpg?authuser=9&hl=vi)
Moves (Di chuyển) và Runtastic Pedometer đang sử dụng công cụ phát hiện bước phần cứng để cung cấp các dịch vụ tiết kiệm pin lâu dài.
Máy phát hiện bước và Máy đếm bước
Android 4.4 cũng thêm tính năng hỗ trợ nền tảng cho 2 cảm biến tổng hợp mới — trình phát hiện bước và bộ đếm bước — cho phép ứng dụng theo dõi số bước khi người dùng đang đi bộ, chạy hoặc leo cầu thang. Những cảm biến mới này được triển khai trong phần cứng để tiêu thụ ít điện năng.
Trình phát hiện bước phân tích dữ liệu đầu vào của gia tốc kế để nhận ra khi người dùng thực hiện một bước, sau đó kích hoạt một sự kiện cho mỗi bước. Bộ đếm bước theo dõi tổng số bước kể từ lần khởi động lại thiết bị gần đây nhất và kích hoạt một sự kiện cho mỗi thay đổi về số bước. Vì tính năng quản lý logic và cảm biến được tích hợp vào nền tảng và phần cứng cơ bản, nên bạn không cần duy trì thuật toán phát hiện của riêng mình trong ứng dụng.
Cảm biến bộ đếm và máy phát hiện bước đã có trên Nexus 5 và chúng tôi đang làm việc với các đối tác chipset để cung cấp cảm biến cho các thiết bị mới sớm nhất có thể.
Nhà cung cấp dịch vụ SMS
Nếu phát triển một ứng dụng nhắn tin sử dụng tin nhắn SMS hoặc MMS, thì bạn hiện có thể dùng nhà cung cấp tin nhắn SMS dùng chung và các API mới để quản lý việc lưu trữ và truy xuất tin nhắn của ứng dụng. Nhà cung cấp SMS và API mới xác định một mô hình tương tác chuẩn cho tất cả các ứng dụng xử lý tin nhắn SMS hoặc MMS.
Cùng với trình cung cấp và API mới, Android 4.4 ra mắt các ngữ nghĩa mới để nhận thông báo và ghi cho trình cung cấp. Khi nhận được một tin nhắn, hệ thống sẽ chuyển thẳng tin nhắn đó đến ứng dụng nhắn tin mặc định của người dùng bằng cách sử dụng ý định SMS_DELIVER mới. Các ứng dụng khác vẫn có thể theo dõi tin nhắn đến bằng cách sử dụng ý định SMS_Requested. Ngoài ra, hiện hệ thống chỉ cho phép ứng dụng mặc định ghi dữ liệu tin nhắn cho trình cung cấp, mặc dù các ứng dụng khác có thể đọc bất cứ lúc nào. Các ứng dụng không phải là ứng dụng mặc định của người dùng vẫn có thể gửi thông báo – hệ thống sẽ thay mặt ứng dụng xử lý việc viết những thông báo đó cho nhà cung cấp để người dùng có thể thấy thông báo trong ứng dụng mặc định.
Trình cung cấp và ngữ nghĩa mới giúp cải thiện trải nghiệm người dùng khi cài đặt nhiều ứng dụng nhắn tin, đồng thời giúp bạn xây dựng các tính năng nhắn tin mới bằng các API tương thích chuyển tiếp và được hỗ trợ đầy đủ.
Cách mới để tạo ứng dụng đẹp mắt
![Thiết bị di động hiển thị tính năng chế độ hiển thị tối đa mới](https://developer.android.google.cn/static/images/kk-immersive-n5.jpg?authuser=9&hl=vi)
Chế độ chìm mới cho phép các ứng dụng sử dụng mọi pixel trên màn hình để hiển thị nội dung và ghi lại các sự kiện chạm.
Chế độ sống động toàn màn hình
Giờ đây, ứng dụng của bạn có thể sử dụng mọi pixel trên màn hình thiết bị để hiển thị nội dung và ghi lại các sự kiện chạm. Android 4.4 thêm chế độ sống động toàn màn hình mới cho phép bạn tạo các giao diện người dùng tràn lề truy cập từ mép này sang cạnh khác trên điện thoại và máy tính bảng, ẩn tất cả giao diện người dùng hệ thống chẳng hạn như thanh trạng thái và thanh điều hướng. Tính năng này lý tưởng cho nội dung hình ảnh phong phú như ảnh, video, bản đồ, sách và trò chơi.
Trong chế độ mới, giao diện người dùng hệ thống sẽ luôn ẩn, ngay cả khi người dùng đang tương tác với ứng dụng hoặc trò chơi của bạn. Bạn có thể ghi lại các sự kiện chạm từ bất cứ đâu trên màn hình, ngay cả các khu vực mà các thanh hệ thống sẽ chiếm giữ. Đây là một cách tuyệt vời để tạo giao diện người dùng lớn hơn, phong phú hơn và sống động hơn trong ứng dụng hoặc trò chơi của bạn, đồng thời giảm tình trạng phân tâm vào hình ảnh.
Để đảm bảo người dùng luôn có thể truy cập dễ dàng, nhất quán vào giao diện người dùng hệ thống từ chế độ sống động toàn màn hình, Android 4.4 hỗ trợ một cử chỉ mới — ở chế độ hiển thị tối đa, thao tác vuốt từ cạnh trên cùng hoặc dưới cùng của màn hình sẽ hiển thị giao diện người dùng hệ thống.
Để quay lại chế độ hiển thị tối đa, người dùng có thể chạm vào màn hình bên ngoài ranh giới thanh hoặc đợi trong một khoảng thời gian ngắn để các thanh tự động ẩn. Để mang lại trải nghiệm nhất quán cho người dùng, cử chỉ mới này cũng hoạt động với các phương thức ẩn thanh trạng thái trước đây.
Khung chuyển đổi để tạo ảnh động cho cảnh
Hầu hết ứng dụng đều cấu trúc luồng xung quanh một số trạng thái giao diện người dùng chính để hiển thị nhiều thao tác. Nhiều ứng dụng cũng sử dụng ảnh động để giúp người dùng hiểu tiến trình của họ thông qua các trạng thái đó và thao tác có sẵn trong mỗi trạng thái. Để giúp việc tạo ảnh động chất lượng cao trong ứng dụng của bạn dễ dàng hơn, Android 4.4 giới thiệu một khung chuyển đổi mới.
Khung chuyển đổi cho phép bạn xác định cảnh, thường là hệ phân cấp khung hiển thị và hiệu ứng chuyển đổi, giúp mô tả cách tạo ảnh động hoặc biến đổi cảnh khi người dùng tiến vào hoặc thoát cảnh. Bạn có thể sử dụng một số loại chuyển đổi định sẵn để tạo ảnh động cho cảnh dựa trên các thuộc tính cụ thể, chẳng hạn như giới hạn bố cục hoặc chế độ hiển thị. Ngoài ra, còn có một loại chuyển đổi tự động có chức năng tự động làm mờ, di chuyển và đổi kích thước khung hiển thị khi thay đổi cảnh. Ngoài ra, bạn có thể xác định các hiệu ứng chuyển đổi tuỳ chỉnh tạo ảnh động cho các thuộc tính quan trọng nhất đối với ứng dụng của mình. Bạn cũng có thể bổ sung kiểu ảnh động của riêng mình nếu cần.
Với khung chuyển đổi, bạn cũng có thể tạo ảnh động cho các thay đổi đối với giao diện người dùng một cách nhanh chóng mà không cần xác định cảnh. Ví dụ: bạn có thể thực hiện một loạt thay đổi đối với một hệ phân cấp khung hiển thị, sau đó để TransitionManager tự động chạy một lượt chuyển đổi bị trì hoãn trên những thay đổi đó.
Sau khi thiết lập hiệu ứng chuyển đổi, bạn có thể dễ dàng gọi các hiệu ứng chuyển đổi đó từ ứng dụng của mình. Ví dụ: bạn có thể gọi một phương thức duy nhất để bắt đầu một hiệu ứng chuyển đổi, thực hiện nhiều thay đổi trong hệ phân cấp khung hiển thị và ở các ảnh động tiếp theo của khung hình sẽ tự động bắt đầu tạo ảnh động cho các thay đổi mà bạn đã chỉ định.
![giao diện người dùng hệ thống rõ](https://developer.android.google.cn/static/images/kk-home.jpg?authuser=9&hl=vi)
Các ứng dụng có thể sử dụng các kiểu cửa sổ mới để yêu cầu thanh hệ thống trong suốt.
Bạn có thể sử dụng TransitionManager để điều khiển tuỳ chỉnh các hiệu ứng chuyển đổi chạy giữa các cảnh cụ thể trong quy trình chạy ứng dụng. TransitionManager cho phép bạn xác định mối quan hệ giữa các cảnh và các hiệu ứng chuyển đổi chạy cho các thay đổi cảnh cụ thể.
Định kiểu giao diện người dùng hệ thống rõ
Để nội dung của bạn có tác động tối đa, giờ đây, bạn có thể sử dụng các kiểu cửa sổ và giao diện mới để yêu cầu giao diện người dùng hệ thống mờ, bao gồm cả thanh trạng thái và thanh điều hướng. Để đảm bảo mức độ dễ nhìn của các nút trên thanh điều hướng hoặc thông tin trên thanh trạng thái, các dải chuyển màu tinh tế sẽ xuất hiện phía sau các thanh hệ thống. Một trường hợp sử dụng điển hình sẽ là một ứng dụng cần hiển thị cho hình nền.
Quyền truy cập nâng cao vào thông báo
Các dịch vụ trình nghe thông báo giờ đây có thể xem thêm thông tin về thông báo đến được tạo bằng API trình tạo thông báo. Các dịch vụ trình nghe có thể truy cập vào thao tác của thông báo cũng như các trường bổ sung mới – văn bản, biểu tượng, hình ảnh, tiến trình, đồng hồ đếm thời gian và nhiều trường khác – để trích xuất thông tin rõ ràng hơn về thông báo và trình bày thông tin theo cách khác.
Chromium WebView
Android 4.4 có một bản triển khai WebView hoàn toàn mới dựa trên Chromium. Chromium WebView phiên bản mới cung cấp cho bạn tính năng hỗ trợ tiêu chuẩn, hiệu suất và khả năng tương thích mới nhất để xây dựng và hiển thị nội dung dựa trên nền tảng web của bạn.
Chromium WebView cung cấp khả năng hỗ trợ rộng rãi cho HTML5, CSS3 và JavaScript. Công cụ này hỗ trợ hầu hết các tính năng HTML5 có trong Chrome dành cho Android 30. Ngoài ra, công cụ này còn có một phiên bản cập nhật của Công cụ JavaScript (V8) giúp cải thiện đáng kể hiệu suất JavaScript.
Ngoài ra, Chromium WebView mới hỗ trợ gỡ lỗi từ xa bằng Công cụ của Chrome cho nhà phát triển. Ví dụ: bạn có thể sử dụng Công cụ của Chrome cho nhà phát triển trên máy phát triển để kiểm tra, gỡ lỗi và phân tích nội dung WebView trực tiếp trên một thiết bị di động.
Chromium WebView mới có trên tất cả thiết bị tương thích chạy Android 4.4 trở lên. Bạn có thể tận dụng WebView mới ngay lập tức và điều chỉnh ở mức tối thiểu đối với các ứng dụng và nội dung hiện có. Trong hầu hết các trường hợp, nội dung của bạn sẽ di chuyển sang phương thức triển khai mới một cách liền mạch.
Các chức năng mới về nội dung nghe nhìn
Ghi màn hình
Giờ đây, bạn có thể dễ dàng tạo video chất lượng cao cho ứng dụng ngay trên thiết bị Android. Android 4.4 bổ sung tính năng hỗ trợ ghi màn hình và cung cấp tiện ích ghi màn hình cho phép bạn bắt đầu và dừng ghi trên thiết bị được kết nối với môi trường SDK Android của bạn qua USB. Đây là một cách mới rất hiệu quả để tạo hướng dẫn từng bước và hướng dẫn cho ứng dụng, tài liệu kiểm thử, video tiếp thị và nhiều nội dung khác.
Với tiện ích ghi màn hình này, bạn có thể quay video nội dung trên màn hình thiết bị và lưu trữ video dưới dạng tệp MP4 trên thiết bị. Bạn có thể quay video ở bất kỳ độ phân giải và tốc độ bit nào được thiết bị hỗ trợ theo ý muốn. Đầu ra vẫn giữ nguyên tỷ lệ khung hình của màn hình. Theo mặc định, tiện ích này sẽ chọn một độ phân giải bằng hoặc gần với độ phân giải màn hình của thiết bị ở hướng hiện tại. Khi quay xong, bạn có thể chia sẻ video trực tiếp từ thiết bị của mình hoặc kéo tệp MP4 sang máy tính lưu trữ để xử lý hậu kỳ.
Nếu ứng dụng của bạn phát video hoặc nội dung được bảo vệ khác mà bạn không muốn trình ghi màn hình ghi lại, bạn có thể sử dụng SurfaceView.setSecure() để đánh dấu nội dung là an toàn.
Bạn có thể truy cập vào tính năng ghi màn hình thông qua công cụ adb có trong SDK Android, bằng cách sử dụng lệnh adb shell screenrecord. Bạn cũng có thể chạy công cụ này thông qua logcat trong Android Studio.
Chuyển đổi độ phân giải thông qua tính năng phát thích ứng
Android 4.4 cung cấp tính năng hỗ trợ chính thức cho tính năng phát thích ứng vào khung nội dung đa phương tiện của Android. Phát thích ứng là một tính năng không bắt buộc của các bộ giải mã video cho MPEG-DASH và các định dạng khác, cho phép thay đổi độ phân giải một cách liền mạch trong quá trình phát. Ứng dụng có thể bắt đầu cung cấp dữ liệu cho các khung video đầu vào của bộ giải mã có độ phân giải mới, đồng thời độ phân giải của vùng đệm đầu ra sẽ tự động thay đổi mà không có khoảng trống đáng kể.
Việc chuyển đổi độ phân giải trong Android 4.4 cho phép các ứng dụng đa phương tiện mang lại trải nghiệm xem video trực tuyến tốt hơn đáng kể. Các ứng dụng có thể kiểm tra khả năng hỗ trợ tính năng phát thích ứng trong thời gian chạy bằng cách sử dụng các API hiện có và triển khai tính năng chuyển đổi độ phân giải bằng các API mới được giới thiệu trong Android 4.4.
Phương thức mã hoá phổ biến cho DASH
Android hiện hỗ trợ cơ chế Mã hoá chung (CENC) cho MPEG-DASH, cung cấp lược đồ DRM đa nền tảng tiêu chuẩn để quản lý nội dung bảo vệ. Ứng dụng có thể tận dụng CENC thông qua các API nền tảng và khung DRM mô-đun của Android để hỗ trợ DASH.
Phát trực tuyến qua HTTP
Android 4.4 cập nhật tính năng hỗ trợ Phát trực tiếp HTTP (HLS) của nền tảng lên tập mẹ của phiên bản 7 của thông số kỹ thuật HLS (phiên bản 4 của giao thức). Xem bản nháp IEEETF để biết thêm chi tiết.
Tạo đường hầm âm thanh tới DSP
Để phát âm thanh hiệu suất cao với mức công suất thấp, Android 4.4 sẽ thêm tính năng hỗ trợ nền tảng cho đường hầm âm thanh vào bộ xử lý tín hiệu kỹ thuật số (DSP) trong chipset của thiết bị. Với tính năng tạo đường hầm, tính năng giải mã âm thanh và hiệu ứng đầu ra sẽ được giảm tải tới DSP, giúp đánh thức trình xử lý ứng dụng ít thường xuyên hơn và sử dụng ít pin hơn.
Tính năng tạo đường hầm âm thanh có thể cải thiện đáng kể thời lượng pin cho các trường hợp sử dụng như nghe nhạc qua tai nghe khi màn hình đang tắt. Ví dụ: với tính năng tạo đường hầm âm thanh, Nexus 5 cung cấp tổng thời gian phát âm thanh ngoài mạng lên tới 60 giờ, tăng hơn 50% so với âm thanh không có đường hầm.
Ứng dụng đa phương tiện có thể tận dụng tính năng tạo đường hầm âm thanh trên các thiết bị được hỗ trợ mà không cần sửa đổi mã. Hệ thống áp dụng tính năng tạo đường hầm để tối ưu hoá tính năng phát âm thanh bất cứ khi nào có sẵn trên thiết bị.
![Hình ảnh trực quan cho thấy hiệu ứng âm thanh giúp tăng âm lượng](https://developer.android.google.cn/static/images/kk-loudnessEnhancerAnnotated.png?authuser=9&hl=vi)
Hình ảnh trực quan về cách hiệu ứng LoudnessEnhancedr có thể giúp nội dung lời nói dễ nghe hơn.
Tính năng tạo đường hầm âm thanh yêu cầu hỗ trợ phần cứng của thiết bị. Hiện tại, tính năng tạo đường hầm âm thanh đã có trên Nexus 5 và chúng tôi đang hợp tác với các đối tác vi mạch để cung cấp tính năng này trên nhiều thiết bị hơn trong thời gian sớm nhất có thể.
Giám sát âm thanh
Các ứng dụng có thể dùng các công cụ theo dõi mới trong hiệu ứng Visualr (Trình đơn giản hoá) để nhận thông tin cập nhật về mức cao nhất và RMS của mọi âm thanh đang phát trên thiết bị. Ví dụ: bạn có thể sử dụng tính năng này một cách sáng tạo trong trình hiển thị nhạc hoặc triển khai định mức phát lại trong trình phát nội dung đa phương tiện.
Chất tăng âm thanh
Các ứng dụng phát nội dung đa phương tiện có thể tăng độ to của nội dung được nói bằng cách sử dụng hiệu ứng LoudnessEnhancedr mới. Hiệu ứng này đóng vai trò là bộ nén với hằng số thời gian được điều chỉnh riêng cho lời nói.
Dấu thời gian âm thanh để cải thiện tính năng đồng bộ hoá AV
Giờ đây, khung âm thanh có thể báo cáo dấu thời gian trình bày từ HAL đầu ra âm thanh cho các ứng dụng để đồng bộ hoá âm thanh và video hiệu quả hơn. Dấu thời gian âm thanh cho phép ứng dụng của bạn xác định thời điểm một khung âm thanh cụ thể sẽ được (hoặc được) trình bày bên ngoài thiết bị cho người dùng. Bạn có thể sử dụng thông tin về dấu thời gian để đồng bộ hoá chính xác hơn âm thanh với khung hình video.
MiracastTM được CHỨNG NHẬN Wi-Fi
Giờ đây, các thiết bị Android 4.4 có thể chứng nhận Thông số kỹ thuật hiển thị Wi-Fi của Wi-Fi Alliance là tương thích với Miracast. Để giúp kiểm thử, tuỳ chọn mới dành cho nhà phát triển Hiển thị không dây sẽ cung cấp các chế độ cài đặt và kiểm soát cấu hình nâng cao cho chứng nhận Hiển thị không dây. Bạn có thể truy cập vào tuỳ chọn này trong phần Cài đặt > Tuỳ chọn cho nhà phát triển > Chứng nhận hiển thị không dây. Nexus 5 là thiết bị hiển thị không dây được chứng nhận Miracast.
Điện toán RenderScript
![Biểu đồ hiển thị các chế độ tối ưu hoá](https://developer.android.google.cn/static/images/kk-rs-chart-versions.png?authuser=9&hl=vi)
Điểm chuẩn hiệu suất cho Android 4.4 so với Android 4.3, chạy trên các thiết bị tương tự (Nexus 7, Nexus 10).
Cải thiện hiệu suất liên tục
Khi sử dụng RenderScript, các ứng dụng đó sẽ được hưởng lợi từ việc điều chỉnh hiệu suất liên tục trong chính thời gian chạy RenderScript mà không cần biên dịch lại. Biểu đồ bên phải cho thấy mức tăng hiệu suất trong Android 4.4 trên 2 chipset phổ biến.
Tăng tốc GPU
Mọi ứng dụng sử dụng RenderScript trên thiết bị được hỗ trợ đều hưởng lợi từ tính năng tăng tốc GPU mà không cần thay đổi mã hay biên dịch lại. Kể từ khi Nexus 10 ra mắt tính năng tăng tốc GPU RenderScript, nhiều đối tác phần cứng khác đã bổ sung tính năng hỗ trợ.
Giờ đây, với Android 4.4, tính năng tăng tốc GPU đã có trên Nexus 5, cũng như Nexus 4, Nexus 7 (2013) và Nexus 10. Chúng tôi đang làm việc với các đối tác để cung cấp tính năng này cho nhiều thiết bị hơn trong thời gian sớm nhất có thể.
RenderScript trong Android NDK
Giờ đây, bạn có thể tận dụng RenderScript trực tiếp từ mã gốc. API C++ mới trong Bộ phát triển gốc Android (NDK) cho phép bạn truy cập vào cùng một chức năng RenderScript hiện có thông qua các API khung, bao gồm cả hàm nội tại của tập lệnh, hạt nhân tuỳ chỉnh, v.v.
Nếu có các tác vụ lớn và cần nhiều hiệu suất để xử lý trong mã gốc, bạn có thể thực hiện các tác vụ đó bằng cách sử dụng RenderScript và tích hợp chúng với mã gốc. RenderScript mang lại hiệu suất tuyệt vời trên nhiều loại thiết bị, với tính năng tự động hỗ trợ CPU đa nhân, GPU và các bộ xử lý khác.
Khi tạo một ứng dụng sử dụng RenderScript thông qua NDK, bạn có thể phân phối ứng dụng đó cho bất kỳ thiết bị nào chạy Android 2.2 trở lên, giống như với thư viện hỗ trợ RenderScript hiện có cho API khung.
Đồ hoạ
SurfaceFlinger GLES2.0
Android 4.4 nâng cấp SurfaceFlinger từ OpenGL ES 1.0 lên OpenGL ES 2.0.
Hỗ trợ Hardware Composer (Trình tổng hợp phần cứng) mới cho màn hình ảo
Phiên bản mới nhất của Trình soạn thảo phần cứng Android là HWComposer 1.3, hỗ trợ thành phần phần cứng của một màn hình ảo ngoài màn hình chính, bên ngoài (ví dụ: HDMI), đồng thời đã cải thiện khả năng tương tác của OpenGL ES.
Các loại hình kết nối mới
Cấu hình Bluetooth mới
Hỗ trợ Android 4.4 cho 2 cấu hình Bluetooth mới để cho phép các ứng dụng hỗ trợ nhiều hoạt động tương tác nội dung nghe nhìn và tương tác tiết kiệm pin hơn. Bluetooth HID qua GATT (HOGP) cung cấp cho ứng dụng một đường liên kết có độ trễ thấp với các thiết bị ngoại vi công suất thấp như chuột, cần điều khiển và bàn phím. Bluetooth MAP cho phép ứng dụng của bạn trao đổi tin nhắn với một thiết bị ở gần, chẳng hạn như thiết bị đầu cuối trên ô tô để sử dụng ở chế độ rảnh tay hoặc một thiết bị di động khác. Là tiện ích của Bluetooth AVRCP 1.3, giờ đây, người dùng có thể đặt âm lượng tuyệt đối trên hệ thống từ thiết bị Bluetooth của họ.
Tính năng hỗ trợ nền tảng cho HOGP, MAP và AVRCP được xây dựng dựa trên ngăn xếp Bluetooth Bluedroid mà Google và Broadcom ra mắt trong Android 4.2. 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ó hỗ trợ chức năng Bluetooth tương thích.
Đầu súng hồng ngoại
Android 4.4 giới thiệu tính năng hỗ trợ nền tảng cho trình tạo hồng ngoại tích hợp sẵn, cùng với API và dịch vụ hệ thống mới cho phép bạn tạo ứng dụng để tận dụng các dịch vụ này.
Bằng cách sử dụng API mới, bạn có thể xây dựng các ứng dụng cho phép người dùng điều khiển từ xa các TV, bộ dò, công tắc và các thiết bị điện tử khác ở gần. API này cho phép ứng dụng của bạn kiểm tra xem điện thoại hoặc máy tính bảng có bộ phát hồng ngoại hay không, truy vấn tần số của nhà mạng, sau đó gửi tín hiệu hồng ngoại.
Vì API này là tiêu chuẩn trên các thiết bị Android chạy Android 4.4 trở lên, nên ứng dụng của bạn có thể hỗ trợ nhiều nhà cung cấp nhất có thể mà không cần viết mã tích hợp tuỳ chỉnh.
Hỗ trợ Wi-Fi TDLS
Android 4.4 giới thiệu một cách liền mạch để truyền trực tuyến nội dung nghe nhìn và dữ liệu khác nhanh hơn giữa các thiết bị đã sử dụng cùng một mạng Wi-Fi bằng cách hỗ trợ thiết lập đường liên kết trực tiếp qua đường hầm Wi-Fi (TDLS).
Hỗ trợ tiếp cận
Cài đặt trên toàn hệ thống cho phụ đề chi tiết
Android 4.4 nay hỗ trợ trải nghiệm hỗ trợ tiếp cận tốt hơn trên các ứng dụng bằng cách thêm các lựa chọn ưu tiên trên toàn hệ thống cho tính năng Phụ đề. Người dùng có thể chuyển đến phần Cài đặt > Hỗ trợ tiếp cận > Phụ đề để đặt các lựa chọn ưu tiên chung về phụ đề, chẳng hạn như có hiển thị phụ đề hay không và ngôn ngữ, kích thước văn bản cũng như kiểu văn bản sẽ sử dụng.
Giờ đây, các ứng dụng dùng video có thể truy cập vào chế độ cài đặt phụ đề của người dùng và điều chỉnh bản trình bày để đáp ứng lựa chọn ưu tiên của người dùng. API trình quản lý phụ đề mới cho phép bạn kiểm tra và theo dõi các lựa chọn ưu tiên của người dùng về phụ đề. Trình quản lý phụ đề cung cấp cho bạn trạng thái phụ đề ưu tiên của người dùng cũng như ngôn ngữ, hệ số tỷ lệ và kiểu văn bản ưu tiên. Kiểu văn bản bao gồm màu nền trước và nền sau, các thuộc tính cạnh và kiểu chữ.
![Thiết bị di động theo hướng ngang hiển thị phụ đề trong lựa chọn ưu tiên về phụ đề trên toàn hệ thống](https://developer.android.google.cn/static/images/kk-captions-n5.jpg?authuser=9&hl=vi)
Giờ đây, các ứng dụng có thể tham khảo các lựa chọn ưu tiên về phụ đề trên toàn hệ thống của người dùng. Ví dụ về kiểu hiển thị dự kiến sẽ xuất hiện ngay trong phần cài đặt.
Ngoài ra, các ứng dụng dùng VideoView có thể sử dụng API mới để truyền luồng phụ đề cùng với luồng video để kết xuất. Hệ thống tự động xử lý việc hiển thị phụ đề trên khung video theo chế độ cài đặt toàn hệ thống của người dùng. Hiện tại, VideoView chỉ hỗ trợ tính năng tự động hiển thị phụ đề ở định dạng WebVTT.
Mọi ứng dụng hiển thị phụ đề phải đảm bảo kiểm tra lựa chọn ưu tiên về phụ đề trên toàn hệ thống của người dùng và hiển thị phụ đề phù hợp nhất có thể với các lựa chọn ưu tiên đó. Để biết thêm thông tin chi tiết về các kiểu kết hợp chế độ cài đặt cụ thể, bạn có thể xem trước phụ đề bằng nhiều ngôn ngữ, kích thước và kiểu ngay trong ứng dụng Cài đặt.
API Hỗ trợ tiếp cận nâng cao
Android 4.4 mở rộng các API hỗ trợ tiếp cận để hỗ trợ mô tả cấu trúc và ngữ nghĩa chính xác hơn cũng như quan sát các phần tử trên màn hình. Với các API mới, nhà phát triển có thể cải thiện chất lượng của ý kiến phản hồi về tính năng hỗ trợ tiếp cận bằng cách cung cấp thêm thông tin cho các dịch vụ hỗ trợ tiếp cận về các thành phần trên màn hình.
Trong các nút hỗ trợ tiếp cận, giờ đây, nhà phát triển có thể xác định xem một nút có phải là cửa sổ bật lên hay không, lấy loại dữ liệu đầu vào, v.v. Bạn cũng có thể sử dụng API mới để làm việc với các nút chứa thông tin dạng lưới, chẳng hạn như danh sách và bảng. Ví dụ: giờ đây bạn có thể chỉ định các hành động mới được hỗ trợ, thông tin về bộ sưu tập, chế độ khu vực trực tiếp, v.v.
Các sự kiện hỗ trợ tiếp cận mới cho phép nhà phát triển theo dõi sát sao hơn những thay đổi đang diễn ra trong nội dung cửa sổ và giờ đây, họ có thể theo dõi các thay đổi trong chế độ khám phá bằng cách chạm trên thiết bị.
Dịch vụ hỗ trợ dành cho người dùng quốc tế
Phản chiếu đối tượng có thể vẽ cho các ngôn ngữ RTL
Nếu ứng dụng của bạn nhắm đến những người dùng sử dụng chữ viết RTL, thì bạn có thể sử dụng một API mới để khai báo rằng một đối tượng có thể vẽ phải được tự động phản chiếu khi chế độ cài đặt ngôn ngữ của người dùng bao gồm một ngôn ngữ RTL.
Việc khai báo một đối tượng có thể vẽ là được phản chiếu tự động sẽ giúp bạn ngăn chặn việc trùng lặp thành phần trong ứng dụng và giảm kích thước tệp APK. Khi có các đối tượng có thể vẽ có thể sử dụng lại cho cả bản trình bày LTR và RTL, bạn có thể khai báo các phiên bản mặc định là được phản chiếu tự động, sau đó loại bỏ các Đối tượng có thể vẽ đó khỏi tài nguyên RTL.
![](https://developer.android.google.cn/static/images/kk-pseudolocale-rtl.png?authuser=9&hl=vi)
Tuỳ chọn Buộc bố cục RTL giúp bạn dễ dàng kiểm thử nội dung bản địa hoá ứng dụng.
Bạn có thể khai báo nhiều loại đối tượng có thể vẽ dưới dạng được tự động phản chiếu trong mã xử lý ứng dụng, chẳng hạn như bitmap, 9-patch, lớp, danh sách trạng thái và các đối tượng có thể vẽ khác. Bạn cũng có thể khai báo một đối tượng có thể vẽ là được tự động phản chiếu trong tệp tài nguyên bằng cách sử dụng một thuộc tính mới.
Buộc hướng bố cục từ phải sang trái
Để giúp bạn dễ dàng kiểm thử và gỡ lỗi các vấn đề về việc phản chiếu bố cục mà không cần chuyển sang ngôn ngữ RTL, Android có một tuỳ chọn mới dành cho nhà phát triển để buộc hướng bố cục RTL trong tất cả ứng dụng.
Tuỳ chọn bố cục Buộc RTL sẽ chuyển thiết bị sang bố cục RTL cho tất cả các ngôn ngữ và hiển thị văn bản bằng ngôn ngữ bạn đang dùng. Việc này có thể giúp bạn tìm thấy các vấn đề về bố cục trên ứng dụng của mình mà không cần phải hiển thị ứng dụng bằng ngôn ngữ từ phải sang trái (RTL). Bạn có thể truy cập vào tuỳ chọn này trong phần Settings > Developer options > Buộc hướng bố cục RTL.
Các tính năng nâng cao về bảo mật
SELinux (chế độ thực thi)
Android 4.4 cập nhật cấu hình SELinux từ "cho phép" thành "thực thi". Tức là những lỗi vi phạm chính sách tiềm ẩn trong một miền SELinux có chính sách đang thực thi sẽ bị chặn.
Thuật toán mật mã học được cải tiến
Android đã cải thiện khả năng bảo mật hơn nữa bằng cách hỗ trợ thêm 2 thuật toán mã hoá khác. Chúng tôi đã thêm tính năng hỗ trợ Giải thuật chữ ký số Elliptic Curve (ECDSA) cho nhà cung cấp kho khoá, nhằm cải thiện tính bảo mật của ký kỹ thuật số, áp dụng cho các trường hợp như ký ứng dụng hoặc kết nối dữ liệu. Chức năng dẫn xuất khoá Scrypt được triển khai để bảo vệ các khoá mã hoá dùng cho quá trình mã hoá toàn bộ đĩa.
Các tính năng nâng cao khác
Trên thiết bị nhiều người dùng, VPN hiện được áp dụng cho từng người dùng. Điều này có thể cho phép người dùng định tuyến tất cả lưu lượng truy cập mạng thông qua VPN mà không ảnh hưởng đến những người dùng khác trên thiết bị. Ngoài ra, Android hiện hỗ trợ FORTIFY_SOURCE cấp 2 và tất cả mã đều được biên dịch với các biện pháp bảo vệ đó. FORTIFY_SOURCE đã được cải tiến để hoạt động với clang.
Công cụ phân tích mức sử dụng bộ nhớ
Chó Procstats
Một công cụ mới có tên procstats giúp bạn phân tích tài nguyên bộ nhớ mà ứng dụng của bạn dùng, cũng như tài nguyên mà các ứng dụng và dịch vụ khác chạy trên hệ thống sử dụng.
Procstats theo dõi cách các ứng dụng chạy theo thời gian, cung cấp dữ liệu về thời lượng thực thi và mức sử dụng bộ nhớ để giúp xác định hiệu suất của các ứng dụng đó. Điều này quan trọng nhất đối với các ứng dụng bắt đầu các dịch vụ chạy ở chế độ nền, vì các ứng dụng đó cho phép bạn theo dõi thời gian các ứng dụng chạy cũng như dung lượng RAM mà các ứng dụng đó đang sử dụng. Procstats cũng sẽ thu thập dữ liệu cho các ứng dụng trên nền trước về mức sử dụng bộ nhớ theo thời gian để xác định hồ sơ bộ nhớ tổng thể của ứng dụng.
Procstats có thể giúp bạn xác định các dịch vụ nền do ứng dụng của bạn bắt đầu. Bạn có thể theo dõi thời gian các dịch vụ đó tiếp tục chạy và dung lượng RAM mà các dịch vụ đó sử dụng khi thực hiện việc đó. Procstats cũng cho phép bạn lập hồ sơ ứng dụng khi ứng dụng đang chạy ở nền trước, sử dụng mức sử dụng bộ nhớ theo thời gian để xác định hồ sơ bộ nhớ tổng thể của ứng dụng.
![](https://developer.android.google.cn/static/images/kk-procstats.png?authuser=9&hl=vi)
Công cụ procstats mới cho phép bạn kiểm tra mức sử dụng bộ nhớ của các ứng dụng và dịch vụ theo thời gian.
![](https://developer.android.google.cn/static/images/kk-meminfo.png?authuser=9&hl=vi)
Công cụ meminfo nâng cao cho phép bạn xem thông tin chi tiết về mức sử dụng bộ nhớ cho một ứng dụng.
Bạn có thể truy cập procstats từ công cụ adb có trong SDK Android, adb shell dumpsys procstats. Ngoài ra, để lập hồ sơ trên thiết bị, hãy xem tuỳ chọn dành cho nhà phát triển Số liệu thống kê về quy trình ở bên dưới.
Lập hồ sơ và trạng thái bộ nhớ trên thiết bị
Android 4.4 có một tuỳ chọn mới dành cho nhà phát triển để giúp bạn dễ dàng phân tích hồ sơ bộ nhớ của ứng dụng trong khi ứng dụng đang chạy trên mọi thiết bị hoặc trình mô phỏng. Việc xem ứng dụng sử dụng bộ nhớ và hoạt động như thế nào trên các thiết bị có dung lượng RAM thấp sẽ đặc biệt hữu ích. Bạn có thể truy cập tuỳ chọn này trong phần Cài đặt > Tuỳ chọn cho nhà phát triển > Thống kê quy trình
![Thiết bị di động có tuỳ chọn mới về Thống kê quy trình](https://developer.android.google.cn/static/images/kk-proc-device-overview-n5.jpg?authuser=9&hl=vi)
![Chi tiết về việc sử dụng làm nổi bật trên thiết bị di động trong tuỳ chọn mới về Thống kê quy trình](https://developer.android.google.cn/static/images/kk-proc-device-detail-n5.jpg?authuser=9&hl=vi)
Số liệu thống kê về quy trình là một cách thuận tiện để kiểm tra mức sử dụng bộ nhớ của ứng dụng. Bạn có thể so sánh ứng dụng của mình với các ứng dụng khác và phóng to dữ liệu cụ thể về ứng dụng hoặc các dịch vụ nền của ứng dụng đó.
Tuỳ chọn Process Stats (Số liệu thống kê về quy trình) cho bạn thấy nhiều chỉ số cấp cao về mức sử dụng bộ nhớ của ứng dụng, dựa trên dữ liệu được thu thập bằng dịch vụ Prostats mới. Trên màn hình chính, bạn có thể thấy một bản tóm tắt trạng thái bộ nhớ hệ thống. Màu xanh lục cho biết mức sử dụng RAM tương đối thấp, màu vàng biểu thị mức sử dụng RAM trung bình và màu đỏ cho biết mức sử dụng RAM cao (quan trọng)
Bên dưới phần tóm tắt là danh sách tóm tắt mức tải bộ nhớ trên hệ thống của từng ứng dụng. Đối với mỗi ứng dụng, một thanh màu xanh dương cho biết mức tải bộ nhớ tương đối (thời gian chạy x trung bình) của quy trình, còn số phần trăm cho biết thời lượng tương đối dành cho chế độ nền. Bạn có thể lọc danh sách để chỉ cho thấy các quy trình ở nền trước, nền sau hoặc được lưu vào bộ nhớ đệm, đồng thời có thể bao gồm hoặc loại trừ các quy trình hệ thống. Bạn cũng có thể thay đổi khoảng thời gian của dữ liệu đã thu thập thành 3, 6, 12 hoặc 24 giờ, cũng như có thể thêm hoặc loại trừ bộ nhớ của chúng tôi.
Để xem kỹ hơn mức sử dụng bộ nhớ của một ứng dụng cụ thể một cách riêng biệt, hãy nhấn vào ứng dụng đó. Giờ đây, đối với mỗi ứng dụng, bạn có thể thấy một bản tóm tắt về bộ nhớ đã dùng và tỷ lệ phần trăm khoảng thời gian thu thập mà ứng dụng đang chạy. Bạn cũng có thể xem mức sử dụng trung bình và tối đa trong khoảng thời gian thu thập, cũng như bên dưới các dịch vụ của ứng dụng và tỷ lệ phần trăm thời gian các dịch vụ đó đã chạy.
Việc phân tích ứng dụng bằng dữ liệu trong Thống kê quy trình có thể cho thấy các vấn đề và đề xuất cách tối ưu hoá có thể áp dụng cho ứng dụng của bạn. Ví dụ: nếu ứng dụng của bạn chạy lâu hơn mức dự kiến hoặc sử dụng quá nhiều bộ nhớ trong một khoảng thời gian, mã của bạn có thể có lỗi mà bạn có thể giải quyết để cải thiện hiệu suất của ứng dụng, đặc biệt là khi chạy trên thiết bị có RAM thấp.