Đặc điểm của hệ điều hành Android

chỉnh sửa, mặc sức “xào nấu” mà không có sự can thiệp hay cấm cản từ Google. Dođó, trước khi các nhà sản xuất lớn như Samsung, Sony, LG, HTC, Oppo … cài đặt hệđiều hành Android trên thiết bị của mình thì họ đã tinh chỉnh và bổ sung rất nhiều thứtừ giao diện, đến vô số những tính năng thông minh, tiện lợi.Hình 2.2: Mỗi hãng có một cách tùy biến giao diện khác nhauThêm một điều mà các hệ điều hành khác như iOS, WindowPhone không cóđược đó là việc tự thiết kế giao diện màn hình HomeScreen. Bạn có thể tự kéo thảnhững icon,2.2.1.2 Giá cả hợp lý từ bình dân đến cao cấp.Mức giá để sở hữu một thiết bị là vấn đề mà không ít người quan tâm đến. Vớicác thiết bị Android, trong khoảng từ 1 – 20 triệu đồng, bạn sẽ có muôn vàn những lựachọn, từ những thiết bị bình dân vừa túi tiền đến những thiết bị cao cấp sở hữu vô sốnhững tính năng hữu ích. Trên thị trường hiện nay có rất nhiều hãng điện tử nhưSamsung, LG, Sony, Lenovo, Oppo, Huawei … tung ra hàng loạt các sản phẩm đủ mọikích cỡ, đủ mọi mức giá vì vậy người dùng sẽ có nhiều sự để lựa chọn hơn so với cácthiết bị sử dụng hệ điều hành khác.2.2.1.3 Kho ứng dụng Google Play Store đồ sộ.Trước đây, khi mới ra mắt kho ứng dụng Google Play chỉ vỏn vẹn có một số ứngdụng. Nhưng đến nay, kho ứng dụng này đã đạt đến hơn 650.000 ứng dụng, trong đócó rất nhiều ứng dụng miễn phí mà vô cùng tiện dụng. Đây cũng là lý do để giải thíchcho sự phát triển chóng mặt của hệ điều hành Android trong thế giới di động. Nếu bạn15 sử dụng một thiết bị Android, chắc hẳn bạn sẽ không phải bận tâm vì “thiếu ứng dụngđể cài” mà cái bạn sẽ bận tâm đó là “không đủ bộ nhớ để cài”.2.2.2 Nhược điểm của hệ điều hành Android.2.2.2.1 Khả năng dọn rác kém.Sau một thời gian sử dụng thiết bị Android, các dữ liệu của ứng dụng đã đượclưu trong bộ nhớ đệm, mà máy không có quá trình tự động để dọn dẹp chúng đi.Những dữ liệu này nếu không được dọn dẹp sẽ vẫn nằm ở đó và chiếm bộ nhớ củamáy, đặc biệt là bộ nhớ RAM, vì vậy nếu sử dụng các thiết bị có bộ nhớ RAM thấpbạn sẽ thường xuyên gặp phải tình trạng giật, lag khi đang sử dụng. Tuy nhiên, nhượcđiểm này cũng có cách để khắc phục, nếu máy không tự “quét nhà” thì bạn sẽ phải“quét” bằng cách cài đặt các ứng dụng dọn dẹp như: History Eraser, Android SystemCleaner, Clean MasterNhưng vấn đề giật, lag chỉ gặp ở những máy có cấu hình thấp,đối với những máy tầm trung hoặc cao cấp hiện nay thì hiện tượng đó rất hiếm.2.2.2.2 Quá nhiều phiên bản dẫn đến việc phân mảnh.Sơ đồ 2.: Sơ đồ thể hiện các thiết bị chạy các phiên bản Android“Đem con bỏ chợ” là những gì mà đa phần người dùng than phiền Google khi sửdụng hệ điều hành Android phiên bản cũ và không được hỗ trợ nâng cấp lên phiên bảnmới. Do tốc độ phát triển nhanh, kèm theo việc nâng cấp phiên bản thường xuyên dẫnđến việc có rất nhiều phiên bản Android trên thị trường. Thêm vào đó là rất nhiều hãngsử dụng hệ điều hành Android mà không thể nào hỗ trợ nâng cấp hết cho tất cả cácthiết bị. Một phần cũng dễ hiểu vì họ luôn chạy theo và tập trung phát triển cho cáimới nên việc bỏ quên các thiết bị cũ là không hề tránh khỏi.16 2.2.2.3 Bảo mật.Do đặc điểm là mã nguồn mở, nên đây là điều kiện để những người có ý đồ xấutìm hiểu và khai thác lỗ hổng bảo mật trên thiết bị Android. Ví dụ: trước đây có mộtứng dụng tên là iCalendar là một ứng dụng lịch báo thông thường với những icon vàhiệu ứng lạ mắt, nhưng ẩn bên dưới là những đoạn mã độc dùng để “móc túi” ngườidùng, những đoạn mã độc này sẽ tự động gửi tin nhắn về tổng đài đã được định sẵn khichạm 5 lần trên màn hình mà người dùng không hề hay biết. Sau khi vụ việc được pháthiện thì ứng dụng đó đã bị gỡ bỏ khỏi Google Play. Dần dần qua các phiên bản,Google cũng đã cải thiện khả năng bảo mật, nhưng “liệu có còn tồn tại những lỗ hổngnữa không?” thì vẫn chưa thể trả lời chính xác được.2.3 Tổng quan về quy trình hoạt động của một ứng dụng trên hệ điều hànhAndroid.Windows vẫn duy trì chương trình, “đối đãi” với chúng như nhau dù bạn có thunhỏ cửa sổ. iOS chỉ cho phép 1 ứng dụng duy nhất hoạt động tại một thời điểm.Android nằm đâu đó ở giữa, ứng dụng đang chạy được ưu tiên nhưng những ứng dụngkhác không bị “siết chặt” như iOS.2.3.1 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 độ quantrọng từ cao đến thấp:Foreground process (tạm dịch: tiến trình nổi bật): Đây chính là những processdùng để chạy ứng dụng (app) bạn đang dùng. Những process khác cũng có thể đượcxem 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 (tạm dịch: tiến trình nhìn thấy được): Visible process không liênquan đế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 (tạm dịch: tiến trình dịch vụ): Tiến trình dạng này không liênquan đến bất kì ứng dụng cả đang chạy và “dưới” đang chạy nào. Chúng thực hiệncô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ạcvà 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.17 Background process (tạm dịch: tiến trình nền): Background process không xuấthiện, cũng không thực hiện vai trò dễ nhận ra (như chơi nhạc), chúng không ảnhhưở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”. Backgroundprocess vẫn sử dụng RAM, cho phép bạn nhanh chóng chuyển đổi trở lại nhưng khôngsử 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ímHome, Chrome trở thành background process và khi mở lại Chrome, nó cũng lập tứcmở lại tab đang xem.2.3.2 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úcchơi game nặng, hệ thống tự động loại bỏ thêm service process. Chơi game nặng, nhạccủ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ườilo 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ênRAM 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ôngtốt, một service process có thể tiếp tục sử dụng tài nguyên CPU và RAM khiến máynó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à “memoryleaked” (rò rỉ bộ nhớ).2.4 Kết luậnQua việc tìm hiểu việc lập trình trên nền tảng di dộng, đặc biệt là hệ điều hànhAndroid, hiểu được những ưu, nhược điểm của nó, chúng ta hoàn toàn có thể xây dựngứng dụng tốt nhất cho người dùng, đem lại cho người dùng những trải nghiệm tốt nhấtHình 4.18: Giao diện đọc báo18

Hình 1.: Mỗi hãng có một cách tùy biến giao diện khác nhauThêm một điều mà các hệ điều hành khác như iOS, WindowPhone không cóđược đó là việc tự thiết kế giao diện màn hình HomeScreen. Bạn có thể tự kéo thảnhững icon, Widget, đồng hồ, thời tiết, tin tức, bản đồ … và bất cứ gì cũng có thể để rangoài màn hình chính.Hình 1.: Tùy chỉnh, kéo thả widget lên màn hình chủ theo ý mình1.4.1.2 Gía cả hợp lý từ bình dân đến cao cấpMức giá để sở hữu một thiết bị là vấn đề mà không ít người quan tâm đến. Vớicác thiết bị Android, trong khoảng từ 1 – 20 triệu đồng, bạn sẽ có muôn vàn những lựachọn, từ những thiết bị bình dân vừa túi tiền đến những thiết bị cao cấp sở hữu vô số21 những tính năng hữu ích. Trên thị trường hiện nay có rất nhiều hãng điện tử nhưSamsung, LG, Sony, Lenovo, Oppo, Huawei … tung ra hàng loạt các sản phẩm đủ mọikích cỡ, đủ mọi mức giá vì vậy người dùng sẽ có nhiều sự để lựa chọn hơn so với cácthiết bị sử dụng hệ điều hành khác.1.4.1.3 Kho ứng dụng Google Play Store đồ sộHình 1.: Kho ứng dụng Google Play StoreTrước đây, khi mới ra mắt kho ứng dụng Google Play chỉ vỏn vẹn có một số ứngdụng. Nhưng đến nay, kho ứng dụng này đã đạt đến hơn 650.000 ứng dụng, trong đócó rất nhiều ứng dụng miễn phí mà vô cùng tiện dụng. Đây cũng là lý do để giải thíchcho sự phát triển chóng mặt của hệ điều hành Android trong thế giới di động. Nếu bạnsử dụng một thiết bị Android, chắc hẳn bạn sẽ không phải bận tâm vì “thiếu ứng dụngđể cài” mà cái bạn sẽ bận tâm đó là “không đủ bộ nhớ để cài”.1.4.1.4 Dễ sử dụngCó lẽ hệ điều hành Android chưa chắc đã dễ sử dụng hơn các hệ điều hành khác(điều này tùy thuộc vào ý kiến chủ quan của mỗi người), nhưng vì nó đã quá phổ biếntrên các thiết bị di động, nên chắc hẳn bạn không cảm thấy lạ lẫm gì với nó nữa. Bạnsẽ có 2 môi trường để làm việc trên các thiết bị Android, đó là màn hình chính(HomeScreen) và menu chính. Màn hình chủ giống như một ngôi nhà của bạn, gồm cócác bức tường xung quanh mà bạn có thể thõa sức trang trí, treo đồng hồ, dán lịch, đặtmáy nghe nhạc … Menu chính thì giống như trong hộc bàn của bạn, có đầy đủ nhữngthứ bạn cần như: máy nhắn tin, máy nghe nhạc, điện thoại, máy chụp hình …22 1.4.2 Nhược điểm của hệ điều hành Android1.4.2.1 Khả năng dọn rác kémSau một thời gian sử dụng thiết bị Android, các dữ liệu của ứng dụng đã đượclưu trong bộ nhớ đệm, mà máy không có quá trình tự động để dọn dẹp chúng đi.Những dữ liệu này nếu không được dọn dẹp sẽ vẫn nằm ở đó và chiếm bộ nhớ củamáy, đặc biệt là bộ nhớ RAM, vì vậy nếu sử dụng các thiết bị có bộ nhớ RAM thấpbạn sẽ thường xuyên gặp phải tình trạng giật, lag khi đang sử dụng. Tuy nhiên, nhượcđiểm này cũng có cách để khắc phục, nếu máy không tự “quét nhà” thì bạn sẽ phải“quét” bằng cách cài đặt các ứng dụng dọn dẹp như: History Eraser, Android SystemCleaner, Clean MasterNhưng vấn đề giật, lag chỉ gặp ở những máy có cấu hình thấp,đối với những máy tầm trung hoặc cao cấp hiện nay thì hiện tượng đó rất hiếm.1.4.2.2 Quá nhiều phiên bản dẫn đến việc phân mảnhHình 1.: Sơ đồ thể hiện các thiết bị chạy các phiên bản Android“Đem con bỏ chợ” là những gì mà đa phần người dùng than phiền Google khi sửdụng hệ điều hành Android phiên bản cũ và không được hỗ trợ nâng cấp lên phiên bảnmới. Do tốc độ phát triển nhanh, kèm theo việc nâng cấp phiên bản thường xuyên dẫnđến việc có rất nhiều phiên bản Android trên thị trường. Thêm vào đó là rất nhiều hãngsử dụng hệ điều hành Android mà không thể nào hỗ trợ nâng cấp hết cho tất cả cácthiết bị. Một phần cũng dễ hiểu vì họ luôn chạy theo và tập trung phát triển cho cáimới nên việc bỏ quên các thiết bị cũ là không hề tránh khỏi.1.4.2.3 Bảo mậtDo đặc điểm là mã nguồn mở, nên đây là điều kiện để những người có ý đồ xấutìm hiểu và khai thác lỗ hổng bảo mật trên thiết bị Android. Ví dụ: trước đây có mộtứng dụng tên là iCalendar là một ứng dụng lịch báo thông thường với những icon vàhiệu ứng lạ mắt, nhưng ẩn bên dưới là những đoạn mã độc dùng để “móc túi” người23 dùng, những đoạn mã độc này sẽ tự động gửi tin nhắn về tổng đài đã được định sẵn khichạm 5 lần trên màn hình mà người dùng không hề hay biết. Sau khi vụ việc được pháthiện thì ứng dụng đó đã bị gỡ bỏ khỏi Google Play. Dần dần qua các phiên bản,Google cũng đã cải thiện khả năng bảo mật, nhưng “liệu có còn tồn tại những lỗ hổngnữa không?” thì vẫn chưa thể trả lời chính xác được.1.4.2.4 Kho ứng dụng quá nhiều dẫn đến khó khăn trong việc lựa chọnHình 1.: Bảo mật trên thiết bị AndroidThật không dễ dàng để tìm kiểm một ứng dụng phù hợp trong kho lưu trữ khổnglồ Google Play Store. Khi bạn gõ một từ khóa tìm kiếm trên Play Store tiếp đó sẽ xuấthiện một danh sách thật dài các ứng dụng có cùng chức năng. Vì vậy việc lựa chọnkhông hề dễ dàng.Tuy nhiên, khuyết điểm này cũng có cách để khắc phục. Nếu bạn cóthời gian, bạn có thể tự chọn lọc ứng dụng mình thích vì việc cài đặt và gỡ ra vô cùngdễ dàng, bạn chỉ việc kéo ứng dụng vào sọt rác là có thể gỡ nó ra nhanh chóng. Nếukhông có thời gian bạn có thể tham khảo trên các diễn đàn công nghệ, có rất nhiều đềxuất về các ứng dụng hữu ích, chất lượng đã được “kiểm duyệt” bởi một số ngườidùng.1.5 Tổng quan về quy trình hoạt động của một ứng dụng trên hệ điều hànhAndroidWindows vẫn duy trì chương trình, “đối đãi” với chúng như nhau dù bạn có thunhỏ cửa sổ. iOS chỉ cho phép 1 ứng dụng duy nhất hoạt động tại một thời điểm.24 Android nằm đâu đó ở giữa, ứng dụng đang chạy được ưu tiên nhưng những ứng dụngkhác không bị “siết chặt” như iOS.1.5.1 Hệ thống phân cấpThứ bậc của process trong Android được chia thành 5 cấp theo 5 mức độ quantrọng từ cao đến thấp:Foreground process (tạm dịch: tiến trình nổi bật): Đây chính là những processdùng để chạy ứng dụng (app) bạn đang dùng. Những process khác cũng có thể đượcxem 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 (tạm dịch: tiến trình nhìn thấy được): Visible process không liênquan đế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 (tạm dịch: tiến trình dịch vụ): Tiến trình dạng này không liênquan đến bất kì ứng dụng cả đang chạy và “dưới” đang chạy nào. Chúng thực hiệncô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ạcvà 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 (tạm dịch: tiến trình nền): Background process không xuấthiện, cũng không thực hiện vai trò dễ nhận ra (như chơi nhạc), chúng không ảnhhưở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”. Backgroundprocess vẫn sử dụng RAM, cho phép bạn nhanh chóng chuyển đổi trở lại nhưng khôngsử 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ímHome, Chrome trở thành background process và khi mở lại Chrome, nó cũng lập tứcmở lại tab đang xem.1.5.2 Tính năng tự động quản lý tiến trình của AndroidAndroid 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úcchơi game nặng, hệ thống tự động loại bỏ thêm service process. Chơi game nặng, nhạccủa bạn sẽ tự tắt, tập tin tải về tự động dừng.25