Android 8.1 sẽ tự động giảm kích thước của các app đã lâu không sử dụng

Duy Luân
13/11/2017 22:51Phản hồi: 105
Android 8.1 sẽ tự động giảm kích thước của các app đã lâu không sử dụng
Các nhà phát triển của trang XDA Developers phát hiện ra một đoạn mã trong Android 8.1 cho thấy Android sẽ tự giảm kích thước của app đã lâu không sử dụng, hay nói cách khác, bộ nhớ trong của bạn sẽ có nhiều chỗ trống hơn. Có một vị trí để Google hoặc các nhà sản xuất có thể cấu hình xem sau bao nhiêu ngày không được xài thì app sẽ bị thu gọn (như vậy các ROM cook cũng có thể can thiệp vào dễ dàng). Mặc định tính năng giảm kích thước app nói trên không bật, nhà sản xuất nào muốn sử dụng thì tự kích hoạt cho thiết bị của họ. Android 8.1 có lẽ sẽ được ra mắt trong vài tháng tới.

Vậy làm sao để Android 8.1 giảm kích thước của app? Từ lâu Android đã có một công cụ gọi là dexopt. Nó được sử dụng để tối ưu các file *.dex - định dạng file chạy được biên dịch từ những dòng lệnh của lập trình viên. Các file này thường được zip lại thành file *.apk để có thể phát hành hay cài đặt một cách dễ dàng.

Quay trở lại vấn đề, sau khi tối ưu, file *.dex sẽ được chuyển thành file *.odex và lưu vào cache của máy ảo Dalvik (nằm ở đường dẫn /system/framework hoặc /system/app) nên sẽ chiếm dung lượng bộ nhớ trong nhiều hơn, bù lại chạy nhanh hơn. Việc không đưa các app inactive qua quy trình này giúp tiết kiệm dung lượng bộ nhớ cache nhưng sẽ mất nhiều thời gian hơn để app khởi động (cũng không vấn đề gì vì đằng nào bạn cũng không sử dụng nó thường xuyên).

Nguồn: XDA
105 bình luận
Chia sẻ

Xu hướng

tuhai944
TÍCH CỰC
6 năm
KO biết có dc thêm đáng bao nhiêu, trong khi bộ nhớ nsx bây giờ đã ngày 1 phình to
kingofpoker
ĐẠI BÀNG
6 năm
@=Tử_Hải= Góp gió thành bão bạn ạ. Nếu mỗi app tiết kiệm được 1M thì 100 apps được 100M. Mà điều quan trọng không phải ở đó, việc tối ưu này khiến các app ít dùng không cache sẵn sẽ tiết kiệm được rất nhiều RAM vì các file odex được preload sẵn trong RAM. Nói đi, nói lại, kiến trúc chạy mọi thứ qua máy ảo như Android sẽ còn lâu mới có thể tối ưu và mượt mà như cách chạy Native của iOS.
@=Tử_Hải= có 1 đứa con + 1 cái điện thoại sẽ thấy tính năng này hữu ích;
trong điện thoại có 100 game, thì 90 cái đầu tiên (cài đặt trước) chỉ nằm đó cho vui;

nhưng... nếu gỡ bỏ thì con lại cài vô...
M3ga
CAO CẤP
6 năm
@kingofpoker Android cũng có native mà chẳng qua là viết native tốn tiền + thời gian hơn nên mấy apps của hãng nhỏ toàn viết theo kiến trúc cũ
kingofpoker
ĐẠI BÀNG
6 năm
@M3ga Cái Native của Android vẫn phải viết App Java rồi call qua JNI hơi nhọc. Mình cũng từng viết và ... nản rồi 😃
tuhai944
TÍCH CỰC
6 năm
@nta139 E có 1 con , 1 hổ, 2 smảttphone nhưng cũng thấy hơi thừa về bộ nhớ 😁
kvirus
ĐẠI BÀNG
6 năm
Chủ yếu giảm tiêu hao pin, chứ kích cỡ không quan trọng lắm.
Gỡ bỏ luôn cho nhanh 😆 nhất là app rác của các hãng. chỉ nên chạy nền web, ai dùng thì tải về.
@bomduc tốt nhất xài Android gốc
@dương liệt Chuận, dùng gì ta tải về sau. Mấy máy rẻ với tầm trung chậm ko tả được. Cao cấp còn bị ảnh hưởng đang CPU 8 nhân thì chắc còn 6 nhân. Sao cạnh tranh được Apple.
@bomduc mình thấy nếu so sánh hiệu năng điện thoại từ năm 2017 trở đi thấy lạc hậu hết rồi giờ nên chú trọng sự sáng tạo và trải nghiệm thôi
@dương liệt Mấy năm trước tôi cũng nghe câu này rồi
@bomduc Mơ hả cha, các app của hãng nó tích hợp vô để tăng tính tiện ích để tạo nên khác biệt chứ ông kêu gở bỏ ra khác mọa gì android goc, nếu là android gốc cho éo dùng. Như thằng SS cái trình duyệt internet của nó hơn safari và chrome nhiều đấy. Còn nếu như nói dùng thì tải về thì cái đó cái nào mà không vậy? các máy mới khui hộp của SS có cài gì nhiều đâu. Chỉ có mấy cái bắt buộc của bên Google và microsoft thôi. Nhưng mấy cái đó cũng đâu gọi là thừa thải. Riêng các ứng dụng chụp ảnh, note v.v.v đều để trên Store hết cần thì tải về. Ai biểu xài máy tầm trung và lấy máy tầm trung đi so với von Flag ship của apple làm gì. Như con note 8 mở ứng dụng cực sướng chứ đừng nói.
Đa nhiệm nhiều thì tốn pin, chip chạy liên tục mau hư cái đt, ko ổn định, mấy cái đt cùi nokia 7 năm còn ko hư, iphone thì 5 năm hư, android thì qua năm 2 là gặp vấn đề phần cứng,
@vtb center Ra tôi cài cái rom cook cho ngon y như nhau,note 5 tôi cài rom note 8 xài chả khác gì,hơn cái là màn hình ko bị cong
@chavalier Sao y như nhau được ông, có những cái liên quan đến phần cứng sao note 5 bằng được? chỉ là giao diện thì ông có thể cài được còn lại tốc độ, hiệu năng bảo mật các thứ thì sao bằng note 8 được, hơn nữa màn note 8 đẹp hơn 5 nhiều đấy. Còn màn cong thì tôi thích hơn đấy, nhìn nó hay hay hơn mấy con phẳng nhiều, nhìn lật qua lại nó bóng bẩy rất đẹp đấy.
@vtb center Hơn được cái có mống mắt, còn tốc độ ko chênh nhau mấy đâu, tôi cài note 5 rom note 8 xài sướng lắm
@chavalier tôi chắc với ông là nó chậm hơn nhiều, ông mở các app cơ bản thì nó không khác, nhưng mở những app hơi nặng chút ông thấy liền, với lại màn của con note 8 là màn hỗ trợ HDR10 nên xem video đã hơn note 5 nhiều đấy,. ông cook lên đó chỉ để trải nghiệm thôi chứ làm gì mà bằng được. Camera kép, vân tay 1 chạm nè, màn tát chạm nhẹ cái là lên liền trong khi note 5 phải nhấn. Nói chung là thua xa ông ơi, tui đang dùng con trước là note 5 cho đi ngay và luôn khi mua note 8 về. Còn cái màn cong của nó thì màn hinh cạnh rất khoái, có icon chụp màn hình trên đó luôn, nói chung là nó ko thể đầy đủ như note 8 được đâu.
1 anh nâng cấp càng lúc càng cải tiến, 1 anh thì ngược lại, lỗi càng lúc càng nhiều nhưng vẫn được nâng bi bởi các CHÚ CỪU.
futurex125
TÍCH CỰC
6 năm
@bibinguyen trời những cái đó cần gì phải mình trả lời bạn cũng tự biết được, app game thì dung lượng cao, đi chơi chụp ít ảnh, rồi thỉnh thoảng quay mấy cái clip bọn trẻ nó vui chơi thì nhanh đầy thôi, chưa kể nghe nhạc offline.
Mình ko hiểu nãy giờ bạn gặn hỏi mình với mục đích gì? định tìm lý do để quy mình về 1 nhóm đối tượng nào sao?
@futurex125 Ồ vậy hóa ra đầy là do nhu cầu của người dùng chứ không phải do OS thần thải rác, vậy thì bộ nhớ ở đây liên quan gì nhỉ ? Nhu cầu cá nhân thì cho dù 512GB hay 1TB có khi còn thiếu tùy mục đích sử dụng mà.
Thấy bác chăn cừu giỏi thì hỏi thôi, tiếc là bác chăn có 1 con cừu dùng 256GB nhưng lại nghĩ con cừu đó y chang con cứu dùng 16GB. Phải chăn nhiều nhiều mới biết.
À mà nhân tiện luôn, Gb khác GB nha bác, lần sau type thì type chính xác vào.
futurex125
TÍCH CỰC
6 năm
@bibinguyen mình đoán ngay mà, chốt lại bạn đang hướng về OS thần của bạn tối ưu hơn Android thôi 😆
p/s: mình có viết gb hay Gb hay GB thì đều hiểu là GB hết, bạn rảnh thì cứ bắt bẻ thôi
@futurex125 iOS thì chả thần gì, vì nó có lỗi mà, nhiều là đằng khác, bác là người gọi nó vậy ấy chứ, chỉ là ở vấn đề này, nó chả liên quan gì tới 16GB hay 32GB cả, nằm ở vấn đề người dùng mà, chứ iOS thần của bác nó đâu làm phát sinh gì, thậm chí vấn đề này nó làm tốt lắm. Rảnh thì rảnh thật, có điều sai kiến thức thì vẫn là sai thôi, ai đời nào bảo tấn Tấn TẤN đều hiểu là Kí cả.
hay. nhiều app ít dùng mà ko thể xoá. hóng ios cũng có chức năng này
@0986190287 Có rồi. OFf load app đó. Cơ mà nhiều khi cũng có hại, mình dính một lần nó auto offload GG drive đúng lúc cần 😆.
@huyanh995 bên ios là tự động xoá mà bác
annx.37
ĐẠI BÀNG
6 năm
@0986190287 Phải bật mới giảm nhe! Xoá nhưng vẫn giữ dữ liệu nhé !! Từ ios 11 là đã có tính năng này rồi !!
@0986190287 Đúng rồi bạn, nó giữ data và icon, xoá app. Mình nghĩ chắc vì cách thức 2 os chạy app khác nhau nên nó không zip lại như android 😁. Anw đều là 2 cách thức optimize storage.
Zoro kun
TÍCH CỰC
6 năm
@huyanh995 đúng rồi bạn, ios là file chạy luôn chứ ko phải file pre-load, giống file exe trên windows so với file .class trong jar vậy
Ngon, nhưng Android thì cố mãi cũng vẫn lag giật mà thôi. Để luôn đi cho xong...
Chả biết sao mọi người xài android dùng 1 thời gian máy bị lag giật là mình chả bao giờ bị, nói rất nghiêm túc. Thấy từ android 6 đổ lên là android đã tối ưu bộ nhớ khá tốt rồi, file rác sàn sinh ra trong quá trình vận hành máy có nhưng không còn làm máy chậm như những android đời thấp nữa (đang xài lineage 14.1). Android giờ chủ yếu cải thiện pin nữa là mình thấy rất ngon.
futurex125
TÍCH CỰC
6 năm
@alakazam1994 những máy Android bộ nhớ 16gb trở xuống sẽ hạn chế bộ nhớ cài app sau khoảng nữa năm sử dụng mà không reset (cũng may còn có thẻ nhớ để lưu data, media)
Ở iSOS thì giờ dùng máy 16gb chắc chỉ 2 tháng là muốn đập máy 😆, toàn app nặng mà có tí bộ nhớ phải lưu cả media 😁
Uh`, nó cổ đến nỗi 3/4 dev, ứng dụng,... đang dùng nó. Java = js + jvcore + android + ...
Nero P
ĐẠI BÀNG
6 năm
Nhớ từ lúc Android 5 là google bỏ thằng Dalvik chuyển sang thằng ART rồi mà. Android 8 trong google I/O đc google giới thiệu là cải thiện hiệu suất máy ảo ART và cải thiện garbage colector để sử dụng RAM hiệu quả hơn.
treble
TÍCH CỰC
6 năm
@Nero P Bố GG lúc nào cũng quảng cáo quản lý ram đa nhiệm tốt này nọ, từ cái thời 512 ram đến giờ là 4Gb 6Gb vẫn khựng vẫn lag, bảo sao ng ta chả chuyển hết qua ios xài
futurex125
TÍCH CỰC
6 năm
@treble vãi cả chuyển hết sang iOS, chắc chưa xem thị phần iOS 😆
treble
TÍCH CỰC
6 năm
@futurex125 Thị phần đồ ghê quá nhỉ
Zoro kun
TÍCH CỰC
6 năm
Diễn giải xong đọc còn khó hiểu hơn. Đơn giản thế này anh em android ai cũng hiểu. Trên máy có một phân vùng gọi là cache partition. Lâu lâu anh em hay restart máy vào recovery mode chọn "wipe cache partition" để nó dọn hết cache trong đây. Cái khu vực này là cội nguồn của việc một số người hay kêu ca android lag sau thời gian dài sử dụng.
Lập trình đóng gói ứng dụng vào file apk trong đó gồm các resouce hình ảnh giao diện xml các thứ và code được thông dịch thành byte code java và đóng gói vào file .dex
Khi cài đặt file apk được xả nén ra và khi chạy file .dex được giải nén ra thành file .odex để từ đó mới biên dịch thành mã máy để thực thi. Thì kết quả của quá trình xả nén và cả biên dịch sẽ được cache lại trong phân vùng cache để lần sau xài lại khỏi tốn thời gian xả nén và biên dịch. Đây là lý do mỗi lần update hệ điều hành thì có quá trình "tối ưu lại" các ứng dụng, nghĩa là nó xóa hết làm lại hết mọi thứ để đảm bảo vấn đề tương thích với os mới.
Thì bây giờ android nó bổ sung thêm khả năng theo dõi app nào mà lâu không dùng nó chủ động dọn luôn đống cache của app đó cho trống cache partition. Khi nào xài lại thì tốn tí thời gian để chuẩn bị lại. Đàng nào thì cũng là con vợ 10 năm mới thị tẩm lần thì lần đầu thị tẩm nó đi chưng dọn lâu một chút. Còn bà nào thường xuyên được thị tẩm thì em luôn sẵn sàng. Như vậy sẽ tối ưu cái khu vực cache partition rộng rãi không gian cho mấy bà đang được sủng ái tung tăng.
@luanth Các Anh Chị Em Đọc Xong Có AI Hiểu Không!??! 😁
Chóng Mặt Quá :D
OH GOD WHY.jpg
@Cuong Nb Thì cơ chế hoạt động nó vậy. Các app như các bà chờ thị tẩm. Bình thường được cưới về thì bà nào cũng chưng diện hết lên người cho best rồi ngồi đó chờ vua là mình triệu kiến. Giờ thì bà nào lâu không ngó cho vô lãnh cung ko chưng diện đỡ hao tài nguyên. Khi nào chợt nhớ ra à cần thị tẩm bà này thì bả mới chưng diện tốn tí thời gian. Tài nguyên tổng có giới hạn. Nên cơ chế đưa thất sủng vô lãnh cung sẽ cho mấy bà đang được sủng ái có rộng rãi tài nguyên hơn để mà xài. Giải thích kiểu cung đấu vậy chắc hợp.
@luanth Bác Cứ Cho Hình Minh Họa Gái Xinh Là Tài Nguyên Dồi Dào Với Gái Xấu Là Bị Hắt Hủi Vô Lãnh Cung là em hiểu luôn 😁
chứ vợ với Vua với cung phi các kiểu thôi cho em xin :D
Như Bạn Váy Trắng Tóc Dài Da Trắng Dưới này là Tài Nguyên Dồi Dào

perfect.jpg
Còn bạn dưới này là Tài Nguyên Bị Cất Đi :D
600_b1440cee-1fd9-456a-9f2c-098f832b92b7.jpg
Này iOs có lâu rồi vậy ai bắt chước ai?
Lu345
ĐẠI BÀNG
6 năm
@huyanh995 Từ iOS10 trở về trước nó cho phép vào Setting để xoá các app ít dùng, hoặc xoá cache liên quan các app đó, như hướng dẫn tại mục 5 và 8 trong link1 ưới đây. Còn từ iOS11 trở đi nó cho phép xoá các app ít dùng nhưng vẫn giữ lại dữ liệu liên quan của người dùng thông qua chức năng "Offload unused apps" (xem Link2).

Link1: https://www.pcmag.com/article2/0,2817,2401354,00.asp

Link2: https://www.engadget.com/2017/06/07/ios-11-storage-offload-apps/
@Lu345 hồi trước hết dung lượng thì apple khuyến cáo nên tự xóa bớt app không dùng cho trống bộ nhớ mà vậy thì bị mất dữ liệu app. nay nó thêm cái tính năng là bạn cứ xóa app đó đi tui cho cơ chế giữ lại file của app đó tạo ra chỉ xoa cái app đi thôi, nào cần thì cài lại không mất file.
nên cái tính năng này của apple nó không liên quan đến tính năng tối ưu cache của android 8.1
Lu345
ĐẠI BÀNG
6 năm
@luanth Cảm ơn bạn. Mình không có Android nên không biết dev bên đó dùng phương thức nào để giảm dung lương cho các app không được dùng hoặc ít được dùng. Nhưng với mục đích giải phóng các loại bộ nhớ bị các app không dùng, ít dùng chiếm chỗ trong điện thoại thì bên iOS họ đã có các phương thức đã nêu ở 2 link trên.
@luanth Nếu là vấn đề optimize bộ nhớ, hiệu suất của từng app trên từng máy khác nhau thì apple đã làm việc này từ thời iOS 9 rồi, Apple gọi nó là App Thinning, nên bản chất app đã down về máy là đã thu gọn bộ nhớ + tối ưu cho thiết bị rồi, còn mấy vấn đề unload này nọ của mấy bác trên đề cập thì giống xóa app thôi, không có gì đặc biệt
j0h4n
ĐẠI BÀNG
6 năm
Ko biết có dc lên 8.1 hay ko 😃
@j0h4n cái đó là tùy thuộc vào hãng còn nếu bạn muốn cập nhật sớm nhất thì mua xiaomi A1, nokia, Google Pixel, Motorola
Giảm lag thì tốt hơn
@Topic nhảm vậy thì chờ năm sau mua điện thoại chạy Android 8.0
Đang dùng nokia 5, máy ko có 1 app rác nào cơ mà 16 GB nhanh hết quá, mới mua 2 hôm đã full bộ nhớ rồi
@Lol #₫_&-+()/ Mình đang định mua nó đây, bác thấy dùng có ổn k?
TaóNô
ĐẠI BÀNG
6 năm
Android 7 cho phép disable các app cũng hãng nên khá ổn và số app đó không nhiều nên làm thủ công được. Nokia 5 để nghe nhạc đọc báo của em trụ 3 ngày là thường
M43-nhl
TÍCH CỰC
6 năm
Mod thử xem hình như Android thấp hơn đã có chức năng này rồi thì phải. mình ko dung lần lượt các version nên ko bik, nhưng hiện đang dùng Android 7.1.1, thấy có lần : khi vừa thoát 1 ứng dụng xong (nút <- nhé), vào setting>memory thấy bộ nhớ bị chiếm 3.0G / 5.6G. Tắt mmàn hình1 lúc ko dùng gì cả, sau đó bật lên, vào lại setting>memory thấy bộ nhớ bị chiếm tự giảm còn 2.3G/5.6G. Mình ko cài app kiêu như "Task Manager" hay "Task Killer" gì nhé.
@M43-nhl dọn bộ nhớ trong java nó không ngay tức thì khi bạn tắt app đâu, mà nó đi theo chu kỳ garbage collector (gc) của hệ thống. Nghĩa là vùng nhớ không dùng đúng ra được release ngay như C (ios theo cơ chế C) thì hệ thống nó chỉ đánh dấu chỗ này release (chứ không release ngay) mà đến chu kỳ gc nó mới lôi mấy cái này ra dọn, hoặc khi bị thiếu bộ nhớ để cấp phát cho cái app mới chạy thì nó mới force gc. Cái này để tối ưu hoạt động của hệ thống. Thành ra việc bạn tắt app hay ẩn app thì bộ nhớ nó không tuột ngay theo như bạn hình dung, mà phải đến chu kỳ dọn hoặc khi cần cấp phát mới mà thiếu thì nó mới dọn.
Sau này bên ios cũng đã áp dụng cơ chế này để chạy chứ không cấp phát/giải phóng tức thời như trước thông qua việc sử dụng một cái pool để cover việc này.

Xu hướng

Bài mới









  • Chịu trách nhiệm nội dung: Trần Mạnh Hiệp
  • © 2024 Công ty Cổ phần MXH Tinh Tế
  • Địa chỉ: Số 70 Bà Huyện Thanh Quan, P. Võ Thị Sáu, Quận 3, TPHCM
  • Số điện thoại: 02822460095
  • MST: 0313255119
  • Giấy phép thiết lập MXH số 11/GP-BTTTT, Ký ngày: 08/01/2019