Từ lúc thiết bị cầm tay trở lên phổ biến các ứng dụng ngày càng đa dạng hơn ,yêu cầu công việc và giải trí ngày càng nâng lên nó đặt ra vấn đề là khi ta đang dùng ứng dụng này chuyển sang ứng dụng khác mà không muốn tắt ứng dụng lúc đầu đi ( đơn giản như tìm tài liệu chẳng hạn ) trước đây ta đa thấy Symbian thể hiện bước đi này ở hệ điều hành s40 lên s60 với khả năng đa nhiệm dưới dạng ẩn ứng dụng nhưng cái cảm giác mà s60 mang lại cho người dùng là cảm giác phức tạp và không trực quan cũng có thể đây là 1 trong nhưng lý do nokia đã thất bại.
Và bây giờ android có kho ứng dụng vô cùng lớn với nhưng tiện ích ngày càng nâng cao thì khả năng chạy đa nhiệm cũng cần cải tiến android 4.4 đã nâng cấp quản lý bộ nhớ và nâng cao khả năng cảm biến của màn hình để ta có trải nghiệm tốt nhất với các ứng dụng .
b. Vậy ta hãy xem cách thức android quản lý ứng dụng (app) và tiến trình (process)của mình như thế nào :
Hệ thống phân cấp
Thứ bậc của process trong Android được chia thành 5 cấp theo 5 mức độ quan trọng từ cao đến thấp:
Foreground process ( tiến trình nổi bật):
- Đây chính là những process dùng để chạy ứng dụng (app) bạn đang dùng. Những process khác cũng có thể được xem là foreground khi chúng có liên hệ trức tiếp với process “xử lý” app đang chạy. Tại một thời điểm cũng chỉ có vài foreground process mà thôi.
Visible process (tiến trình nhìn thấy được):
- Visible process không liên quan đến app đang chạy nhưng có tác động đến những gì thể hiện trên màn hình. Ví dụ, foreground process có tính năng “trong suốt” (transparent) và những ứng dụng được hiển thị đằng sau chính là visible process. Dễ thấy nhất là khi cài các theme hỗ trợ khả năng “làm mờ” ứng dụng hoặc “ghim” ứng dụng lên màn hình.
Service process ( tiến trình dịch vụ):
- Tiến trình dạng này không liên quan đến bất kì ứng dụng cả đang chạy và “dưới” đang chạy nào. Chúng thực hiện công việc một cách âm thầm như chơi nhạc hay tải tập tin.
- Ví dụ: bạn đang nghe nhạc và muốn chuyển sang chơi game, khi bạn mở game cũng là lúc process phát nhạc trở thành service process, vẫn tiếp tục chơi nhạc khi bạn làm việc khác.
Background process (tiến trình nền):
- Background process : không xuất hiện, cũng không thực hiện vai trò dễ nhận ra (như chơi nhạc), chúng không ảnh hưởng đến trải nghiệm sử dụng. Tại một thời điểm, có rất nhiều background process đang chạy và bạn có thể xem chúng là những ứng dụng đang “tạm dừng”.
Background process vẫn sử dụng RAM, cho phép bạn nhanh chóng chuyển đổi trở lại nhưng không sử dụng thêm tài nguyên phần cứng nào khác. Ví dụ khi dùng Chrome và bấm phím Home, Chrome trở thành background process và khi mở lại Chrome, nó cũng lập tức mở lại tab đang xem.
Empty process (tiến trình rỗng):
- Tiến trình này không còn tiêu tốn tài nguyên nào nữa. Chúng được giữ lại nhằm mục đích tạo bộ nhớ đệm cho lần khởi động sau và hệ thống có thể tùy ý loại bỏ chúng.
VD:
Một ví dụ tổng quát sẽ giúp bạn hình dung dễ hơn:flappy bird là foreground process khi bạn đang “đưa con chim đi qua khe của 2 ống khói ,tức là đang chơi đó”. Ngừng chơi và mở facebook, flappy bird trở thành background process và facebook thành foreground process. Kiểm tra xong facebook và trở lại flappy bird, trò chơi hiện lại ngay màn bạn đang chơi. Trong khoảng thời gian đó, Angry Birds được duy trì trên RAM, bộ nhớ đệm và luôn trong tình trạng sẵn sàng khôi phục.
Tính năng tự động quản lý tiến trình của Android
Android có khả năng quản lý process một cách tự động, do đó bạn không cần cài đặt bất kì ứng dụng “quản lý ứng dụng” nào.
Khi cần nhiều tài nguyên, Android tự động xóa các process ít quan trọng nhất, bắt đầu từ empty và background process. Khi cần nhiều tài nguyên hơn nữa như lúc chơi game nặng, hệ thống tự động loại bỏ thêm service process. Chơi game nặng, nhạc của bạn sẽ tự tắt, tập tin tải về tự động dừng.
Trong đa số trường hợp, bạn không cần lo về lượng RAM của máy. Nhiều người lo rằng máy mình chỉ còn 1 ít RAM và “đổ thừa” cho hệ thống là không đúng. Cơ chế quản lý thông minh của Android tự động lưu giữ các ứng dụng và dữ liệu khác trên RAM cho bạn trải nghiệm tốt nhất có thể.
Dĩ nhiên, sự linh hoạt cũng có điểm yếu. Nếu một ứng dụng được lập trình không tốt, một service process có thể tiếp tục sử dụng tài nguyên CPU và RAM khiến máy nóng lên và tụt pin nhanh chóng. Về mặt kĩ thuật, tình trạng này được gọi là “memory leaked” (rò rỉ bộ nhớ).
Một số ứng dụng được lập trình đặt icon trên thanh thông báo notification như avast!, TrustGo Antivirus hay… Advanced Task Killer. Nếu bạn cố tắt icon này, ứng dụng
“chống lại”. Bằng cách luôn giữ icon trên thanh thông báo, chúng cho biết mình không phải là background process để khỏi bị hệ thống loại bỏ khi cần tài nguyên.chúng giống như tiến trình hệ thống vậy.
Ứng dụng Android có thể tự đáp ứng các sự kiện
Các lập trình viên có thể cho ứng dụng của mình quyền tự khởi động cùng hệ thống hay chạy một dịch vụ ngầm.
Ứng dụng có thể tự khởi động bởi nhiều loại “sự kiện” khác nhau: khi mở máy, khi chụp ảnh, khi thay đổi mạng. Khả năng này cho phép ứng dụng làm việc mà
không cần tiêu tốn tài nguyên “chạy nền” (background process). Ví dụ Facebook Messenger biết khi nào bạn mở wifi để tự nhận tin nhắn.zalo biết khi nào bạn mở kết nối dữ liệu để báo bạn online.
Quản lý tiến trình “cơ bản”
Người dùng không cần tự mình làm việc này, nhưng cũng có vài cách để bạn
“làm chủ” thiết bị. Có thể dùng menu đa nhiệm (thường gọi Recent Apps). Kích hoạt menu này bằng cách nhấn và giữ Home, nhấn liên tiếp Home 2 lần, chọn biểu tượng chỉ định
Những ứng dụng hiện lên là chúng đang ở trạng thái “background process”.
Dùng tay “quét bỏ” sẽ loại bỏ hoàn toàn ứng dụng khỏi bộ nhớ RAM của máy.
Cách này thực sự cũng không quá cần thiết nhưng cũng có thể giải quyết các trường hợp ứng dụng gặp lỗi (đứng hình, vẫn chạy nhưng mất cảm ứng…).
Hình ảnh trình đa nhiệm của android 4.4
Menu Recent Apps
Cũng có thể vào mục Settings > Apps > chọn ứng dụng và bấm Force stop để tắt chúng đi.
Android là hệ điều hành dựa trên Linux, mỗi ứng dụng được gán một mã số người dùng riêng (Linux user ID hoặc user account). Mã số này giúp phân biệt ứng dụng này với ứng dụng khác. Khi root Android, ứng dụng có thể tự “phá rào”
và chạy với quyền cao nhất, quyền root.
Trường hợp này không thường xảy ra nhưng cũng đáng để cảnh báo, đây là một trong những lý do Android không được root sẵn khi đến tay người dùng.
2.Quản lý bộ nhớ
*chúng ta sẽ tập trung vào quản lý bộ nhớ trong ( Internal Storage ) trước tiên :
a. Bộ nhớ trong là gì ?
- Bộ nhớ trong (Internal Storage) là bộ nhớ được nhà sản xuất tích hợp vào bên trong thiết bị. Đó là nơi lưu trữ các dữ liệu phát sinh của hệ điều hành trong quá trình hoạt động của thiết bị.
- Ngoài ra, nhiều ứng dụng của Android cũng được mặc định cài đặt lên bộ nhớ trong của máy. Một số ứng dụng khi chạy còn lưu trữ bộ nhớ đệm (cache) và các loại dữ liệu khác (gọi chung là application data)
- Bộ nhớ trong không phải là RAM. Bộ nhớ trong là nơi chứa dữ liệu trong thời gian dài, còn RAM chỉ là bộ nhớ để ứng dụng hay chương trình truy cập ngẫu nhiên. Khi chúng đóng lại, phần dung lượng RAM mà ứng dụng đó đang dùng sẽ được giải phóng tự động. Khi bạn tắt máy, RAM tự động xóa sạch, còn bộ nhớ trong không bị.
- Khi không còn nhiều không gian để hoạt động, Android sẽ thông báo đến bạn dòng chữ “Low on space” trên thanh Notification bar. Đó là dấu hiệu rõ ràng nhất cho thấy dung lượng bộ nhớ trong của chúng ta đã giảm xuống rất thấp. Bên cạnh đó, máy sẽ chạy chậm đi thấy rõ, chẳng hạn việc mở ứng dụng trước đây được thực hiện rất nhanh chóng, bây giờ lại chậm như rùa, kèm theo là những cái giật rất bực mình. Việc duyệt HomeScreen rất khó chịu, làm chúng ta có cảm giác như màn hình cảm ứng đã mất hết độ nhạy. Các ứng dụng chạy chậm chạp, độ phản hồi chậm, tốc độ tải trang web giảm đi,
b. Tổng quan về hệ thống file trên Android
• Tất cả các file trong android có chung cấu trúc vật lý là chuỗi các byte (byte stream).
• Quản lý và chuyển đổi dữ liệu một cách dễ dàng.
• Các thành phần được xem như các file, chúng được phân biệt dựa trên kiểu file:
ordinary file, directory file, character device file, và block device file.
c. Các kiểu file trên android
• Trong nhiều hệ điều hành như window, người ta phân biệt rõ file (tập tin) và folder (hay directory : thư mục) là 2 thành phần khác hẳn nhau.
• Tuy nhiên trên hệ điều hành android (cũng như linux) thì coi directory cũng là file và nó là một loại file đặc biệt.
Một số loại file nữa có thể liệt kê theo bảng sau:
Chữ cái biểu diễn Kiểu file
d Thư mục (directory)
b File kiểu khối(block-type special file)
c File kiểu ký tự( characeter –type special file) l Liên kết tượng trưng (symbolic link)
p File đường ống (pipe)
s Socket
- File bình thường(regular)
d. Tổ chức quyền sở hữu và quyền hạn trên file
- Một file có thể liên kết với một người sử dụng và một nhóm người sử dụng.
- Sự liên kết đó là một tập hợp các quyền hạn truy cập bao gồm quyền được phép đọc (read), được phép ghi (write) và được phép thực thi (execute).
- Cụ thể như sau: Một file sẻ có những quyền hạn tương ứng với 9 ký tự theo mẫu sau : Với ký tự r w x nghĩa là có quyền tương ứng với ký tự viết tắt đó, nghĩa là không có quyền hạn đó.
Owner Owner group Other
r/- w/- x/- r/- w/- x/- r/- w/- x/-
o 3 ký tự đầu tiên là quyền hạn chủ nhân file .
o 3 ký tự giữa là quyền hạn của nhóm tài khoản sở hữu file.
o 3 ký tự cuối là quyền hạn của những . o người không thuộc nhóm sở hữu file.
e. Cây thư mục trên hệ điều hành android
• Thư mục (hay có thể gọi là file) root là thư mục gốc của tất cả các file thư mục còn lại.
• Dưới nó có chứa một số file thư mục hệ thống.
• Mỗi thư mục (trừ thư mục root) đều có một thư mục cha chứa nó, bản thân nó cũng có thể có nhiều file thư mục con.
• Cấu trúc đó có thể mô tả bằng một cây thư mục có dạng như sau :
• /(root) : Là thư mục gốc. Là thư mục duy nhất không có thư mục cha
• / mnt : thư mục chứa thiết bị lưu động (removeable)
• /system : chứa những thành phần cơ bản nhất của hệ thống
• /ect : chứa những file cấu hình của hệ thống, nó cực kỳ quan trọng vì sự hoạt động của hệ thống đều bị chi phối ở những file cấu hình này.
• /system/lost+found : chứa những tập tin bị mất lúc khởi động máy.
• /system/font : chứa những font chữ hiển thị được ...
Một vài phương pháp khắc phục tình trạng bộ nhớ trong bị “sụt ”
Chuyển ứng dụng lên thẻ nhớ.
- Các thiết bị android thường không được trang bị bộ nhớ trong lớn vì vậy thường dùng thẻ nhớ ngoài sd với dung lượng lớn ,giá thành rẻ.
- Đây là cách làm hữu hiệu đối với các ứng dụng lớn, chẳng hạn như game, các ứng dụng đồ họa hay ứng dụng văn phòng. Các ứng dụng này chiếm từ 5MB đến 10MB dung lượng bộ nhớ trong khi các điện thoại Android thường chỉ có bộ nhớ trong từ 100-200MB mà thôi (ngoại trừ các dòng cao cấp có dung lượng từ 1GB trở lên).
- Khi đã chuyển lên thẻ nhớ, phần còn lại của ứng dụng chỉ còn khoảng 1-2MB
Xóa các loại bộ nhớ đệm
- Như đã đề cập ở trên, bộ nhớ đệm phát sinh rất nhiều trong quá trình chúng ta sử dụng máy. Thời gian dùng càng dài, những dữ liệu phát sinh càng nhiều, chiếm nhiều không gian trong bộ nhớ của máy.
Lưu ý: xóa bộ nhớ đệm có thể làm cho ứng dụng của bạn mất thời gian lâu hơn để tải nội dung vì bộ nhớ đệm chính là phần lưu lại của lần sử dụng trước. Ứng dụng mà bạn không nên xóa bộ nhớ đệm là các ứng dụng duyệt ảnh. Tùy vào tính năng của từng ứng dụng mà bạn có thể quyết định có xóa cache hay không nhé. Nhưng cũng đừng quá lo lắng khi lỡ xóa chúng, vì chỉ sau một lần chạy là ứng dụng lại bắt đầu khởi tạo các dữ liệu tạm rồi.
- Đầu tiên, chúng ta hãy xóa bộ nhớ đệm của trình duyệt. Bộ nhớ đệm của nó có thể lên đến 10MB đấy. Khoảng trống đó sẽ giúp máy chạy nhanh chóng hơn, mượt mà hơn. Bạn truy cập vào ứng dụng Browser, nhấn nút Menu > More > Settings > Clear cache, sau đó nhấn OK trong hộp thoại xuất hiện.
- Để xóa bộ nhớ đệm của các ứng dụng khác, bạn truy cập vào Settings > Application > Manage Application. Tại đây bạn sẽ thấy tất cả các ứng dụng hiện có trên máy. Để xem và xóa bộ nhớ đệm của một ứng dụng nào đó, bạn chạm vào tên của ứng dụng đó. Nhìn xuống trường Cache, bạn sẽ thấy nút Clear cache. Nhấn vào đó là bộ nhớ đệm sẽ được làm sạch. Thật đơn giản đúng không nào.
- Ngoài ra, ứng dụng History Eraser có thể giúp bạn thực hiện việc này nhanh hơn, nhưng chúng ta lại mất một khoảng để cài đặt nên mình không thích lắm.
- Việc xóa bộ nhớ đệm bạn có thể thực hiện định kì một tháng một lần hoặc nhiều hơn tùy vào mức độ sử dụng máy của bạn. Xin nhắc lại là xóa bộ nhớ đệm không làm mất dữ liệu gì của bạn .
-
Xóa email, tin nhắn, danh sách cuộc gọi nếu không dùng nữa
- Có thể từng email, từng tin nhắn chẳng là gì so với mức dung lượng vài trăm Megabyte mà các thiết bị Android hiện nay sở hữu. Tuy nhiên, hàng trăm email hàng ngàn tin nhắn có thể chiếm đi vài chục MB dung lượng. Vì vậy, hãy xóa đi các email không dùng, đặc biệt là các email có đính kèm, mà bạn đã lưu vào điện thoại. Các tin nhắn SMS, MMS và danh sách cuộc gọi (Call log) cũng nên xóa đi nếu chúng không quan trọng. Việc này sẽ giúp bạn phần nào trong việc giải phóng bộ nhớ máy.
Gỡ bỏ các ứng dụng không dùng đến
Việc này tưởng chừng đơn giản nhưng không phải ai cũng nghĩ đến, đặc biệt với người dùng mới (Khi mới dùng Android, mình cũng như thế mặc dùng đã dùng PC nhiều vậy mà cũng không nghĩ ra việc gỡ bỏ ứng dụng). Việc gỡ bỏ (Uninstall) có thể thực
hiện bằng cách truy cập vào Settings > Applications > Manage Application, chọn vào ứng dụng nào không dùng nữa rồi nhấn Uninstall.
^^^^^^ Bây giờ ta sẽ tìm hiểu về bộ nhớ truy cập ngẫu nhiên (RAM) của android.
RAM là gì :
- RAM, từ viết tắt của Random Access Memory (bộ nhớ truy cập ngẫu nhiên), là một trong những linh kiện quan trọng của smartphone bên cạnh vi xử lý và bộ xử lý đồ họa.
- Nếu không có RAM thì smartphone của chúng ta thậm chí không thể thực hiện những tác vụ cơ bản bởi việc truy cập các tệp dữ liệu sẽ cực kì chậm.
- Bộ nhớ truy cập ngẫu nhiên là thiết bị trung gian giữa các tập tin hệ thống, được lưu trữ trên ROM và vi xử lý, với nhiệm vụ là cung cấp thông tin cần thiết càng nhanh càng tốt.
- Những thông tin mà vi xử lý cần sẽ được lưu trữ trên RAM để chờ được truy nhập.
- Đây có thể là những tập tin của hệ điều hành, dữ liệu của ứng dụng, đồ họa của game hoặc bất kì thứ gì cần được truy xuất nhanh.
RAM của thiết bị android
- Loại RAM sử dụng trong smartphone android là DRAM, với chữ D là viết tắt của Dynamic (động). Trong cấu trúc của DRAM, mỗi tụ điện trên mạch RAM lưu trữ 1 bit. Tụ bị rò điện nên bộ nhớ cần được liên tục
"làm tươi", dẫn đến tính chất "động" của RAM. Điều này cũng có nghĩa là nội dung được lưu trong mô đun DRAM có thể được thay đổi rất nhanh để lưu nội dung mới.
- Ưu điểm của RAM động so với RAM tĩnh (static), đó là bộ nhớ có thể thay đổi tùy thuộc vào tác vụ hệ thống đang thực hiện. Giả sử hệ điều hành có dung lượng tới 2GB, bộ nhớ RAM không cần phải có dung lượng tương đương, đặc biệt khi hầu hết các smartphone android không có bộ nhớ RAM lớn như vậy.
- RAM khác biệt so với ROM ở chỗ khi RAM không còn được cấp điện thì nội dung lưu trong nó cũng mất đi. Do vậy nó được gọi là bộ lưu trữ khả biến và đây cũng là tính chất giúp RAM có thời gian truy cập rất thấp. Điều này có thể được thấy khi khởi động lại máy: khi nguồn ngắt, dữ liệu lưu trong RAM bị xóa hết. Khi máy khởi động lại, RAM lấy dữ liệu từ ROM có tốc độ chậm hơn và tốc độ tải khi khởi động lại máy phụ thuộc chủ yếu vào tốc độ đọc của ROM.
Dung lượng và tốc độ là yếu tố quan trọng nhất
- Điều đầu tiên cần quan tâm khi nói đến RAM của smartphone android là dung lượng. Dễ thấy dung lượng RAM lớn thì sẽ tốt hơn vì dung lượng lớn đồng nghĩa RAM có thể lưu trữ nhiều thông tin hơn.
- Khi quan sát trò chơi trên chiếc điện thoại Android 4.4(với dung lượng RAM là 1GB), không mấy khi chúng tôi thấy trò chơi sử dụng quá 300 MB RAM. Tuy nhiên nếu cộng cả những tác vụ quan trọng luôn chạy ngầm của hệ điều hành, như tin nhắn, điện thoại hay ứng dụng trên màn hình chính, bạn có thể thấy hơn 1 nửa của tổng dung lượng 1GB RAM đã được dùng. Như vậy nếu một hệ thống chỉ có 512 MB RAM thì việc chạy trò chơi có đồ họa cao sẽ khá khó khăn.