Tại sao thiết bị Android của tôi chậm lại sau khi cập nhật ROM liên tiếp mà không xóa sạch?


7

Tôi có một Nexus Galaxy Nexus 32 GB (toro). Tôi đang chạy các bản nightly Cyanogenmod 10.1 ROM và tôi sử dụng CyanDelta Updater để cập nhật.

Trong khoảng thời gian khoảng 3 tuần, tôi đã cập nhật lên hàng đêm mới nhất gần như mỗi ngày bằng cách sử dụng CyanDelta. Đôi khi tôi tải xuống ROM đầy đủ thay vì sử dụng CyanDelta. Trong thời gian này, tôi không bao giờ xóa thiết bị (hay còn gọi là khôi phục cài đặt gốc). Tôi chỉ áp dụng bản phát hành mới trên đầu trang cũ.

Gần đây, hiệu suất điện thoại của tôi xuống cấp đáng kể. Có sự chậm trễ mở khóa, sự chậm trễ kéo dài ứng dụng chuyển đổi, sự chậm trễ lâu làm mọi thứ. Điện thoại sẽ đóng băng và HĐH sẽ hỏi tôi có muốn kết thúc một quá trình không vì nó không phản hồi. Podcatcher của tôi sẽ nói lắp trong khi chơi.

Thay vì chuyển sang ROM khác, trước tiên tôi quyết định thực hiện xóa toàn bộ (khôi phục cài đặt gốc). Tôi đã sử dụng Titanium Backup để sao lưu ứng dụng và dữ liệu người dùng của mình. Trong TeamWin Recovery, tôi đã thực hiện khôi phục cài đặt gốc, flash cùng CM 10.1 hàng đêm tôi đang chạy trước đó, khôi phục các ứng dụng của mình bằng Titanium, đăng nhập vào tài khoản, v.v.

Hiệu suất điện thoại của tôi đã được khôi phục hoàn toàn. Nó giống như đêm và ngày.

Câu hỏi của tôi là: Tại sao nó làm việc? Điều gì về việc áp dụng các phiên bản ROM liên tiếp có thể gây ra sự chậm chạp mà việc xóa sẽ khắc phục?

Tôi yêu mức độ hiệu suất mới của mình, nhưng tôi cũng thích theo kịp các phiên bản mới nhất. Có vẻ như tôi không thể có hạt thạch của mình và cũng ăn chúng. Bây giờ tôi miễn cưỡng flash bất kỳ bản cập nhật nào mà không thực hiện xóa toàn bộ.


Tôi có cùng một vấn đề, và chỉ cho rằng đó là lỗi hay không.
Fammy

1
Đôi khi, thay vào đó, việc xóa toàn bộ Bộ nhớ cache Dalvik cũng có thể giải quyết vấn đề này (đó là nơi mã được biên dịch sẵn của các ứng dụng, sau đó đơn giản sẽ được tạo lại khi khởi động), có thể nó đã bị phân mảnh.
Izzy

CyanDelta có ý định tự động xóa bộ nhớ cache Dalvik với mỗi bản cập nhật. Vì vậy, đó không phải là giải pháp.
Larry Silverman

Câu trả lời:


4

Tôi đã tự mình nghĩ ra một câu trả lời tiềm năng: TRIM

Đĩa trạng thái rắn (SSD) và một số bộ nhớ flash yêu cầu hệ điều hành thực hiện một loại nhiệm vụ vệ sinh để duy trì hiệu quả của thiết bị.

Lệnh TRIM của hệ điều hành được giải thích trong bài viết này của AnandTech:

Khả năng ứng dụng của nó đối với một số thiết bị Android nhất định, bao gồm cả Samsung Galaxy Nexus và ASUS Nexus 7 của tôi được giải thích trong các chủ đề của Nhà phát triển XDA này:

Một thành viên XDA đã viết một ứng dụng có tên LagFix để thực hiện chức năng bảo trì TRIM, do đó khôi phục hiệu suất ghi cho thiết bị.

Vì gần đây tôi đã thực hiện khôi phục cài đặt gốc hoàn chỉnh, tôi không còn gặp vấn đề về hiệu suất và do đó tôi không thể trực tiếp chứng thực các lợi ích có mục đích của LagFix. Nếu tôi ở vị trí mà hiệu suất đang bị ảnh hưởng, tôi có thể thực hiện một số điểm chuẩn và xem LagFix có cải thiện tình hình không.

Xin lưu ý nếu bạn dự định dùng thử LagFix rằng có một số thiết bị có chip KHÔNG chơi tốt với tiện ích này. Những con chip này có cái được gọi là BrickBug và nếu bạn chạy LagFix trên một trong những thiết bị này, bạn sẽ không thể hủy bỏ thiết bị của mình.

Tôi thực sự khuyên bạn nên làm theo lời khuyên và đọc Câu hỏi thường gặp về LagFix. Nó trỏ đến một tiện ích có thể cho bạn biết nếu thiết bị của bạn có chứa chip có thể bị BrickBug.


Tôi sẽ chấp nhận câu trả lời của riêng tôi ở đây với một lời cảnh báo "làm việc cho tôi". Kể từ khi thực hiện thao tác TRIM hàng đêm bằng LagFix, hiệu suất của tôi vẫn ở mức chấp nhận được (với tôi). Tôi đã tiếp tục flash CM 10.1 nightlies.
Larry Silverman

Cập nhật: Theo AnandTech, Android 4.3 mang TRIM cho tất cả các thiết bị Nexus. Điều này dường như củng cố câu trả lời của tôi ở trên. anandtech.com/show/7185/ trộm
Larry Silverman

1

Để trả lời câu hỏi của bạn, tôi muốn trích dẫn một cái gì đó được gọi là Dalvik VM và Android File System.

Hệ thống tệp Android sẽ có các phân vùng bên dưới (như Phổ biến trong hầu hết các thiết bị), \ system \ boot \ data \ cache

Khi bạn flash ROM mới và các tệp tương ứng sẽ được chuyển đến các phân vùng tương ứng.

Khi bạn flash một rom mới mà không xóa, các tệp trong tất cả phân vùng sẽ bị ghi đè (Nếu các tệp có cùng tên) và một số tệp cũ hơn có thể vẫn còn là một mảnh vỡ.

\ Cache \ Dữ liệu

Hai phân vùng trên là ROM cụ thể, bất cứ khi nào có ứng dụng mới được cài đặt, dữ liệu Tạm thời và bộ đệm của nó sẽ được tạo và lưu trữ trong các phân vùng tương ứng. Khi bạn xóa, dữ liệu cũ và các mục bộ đệm sẽ bị xóa.

Tất cả các ứng dụng Android đều được tối ưu hóa cho dex (.odex) để chạy trong Máy ảo dalvik (Tương tự Java VM). Những mục này cần phải được xóa khi di chuyển đến các rom khác nhau.

Một số thông tin về dalvik - http://en.wikipedia.org/wiki/Dalvik_%28software%29


Như đã đề cập ở trên, phương pháp cập nhật tôi đang sử dụng sẽ tự động xóa bộ nhớ cache Dalvik.
Larry Silverman

1

TL; DR - Đã khôi phục hiệu suất của ASUS Nexus 7 16GB 2012 của tôi bằng cách xóa một vài GB tệp không cần thiết.

Gần đây tôi đã giải quyết vấn đề về hiệu năng trên ASUS Nexus 7 (16GB, thế hệ đầu tiên) bằng giải pháp không liên quan đến giải pháp LagFix / TRIM được nêu ở trên. Mặc dù LagFix dường như đã giải quyết được vấn đề trên Verizon Galaxy Nexus của tôi (hiệu năng vẫn tuyệt vời cho đến ngày nay), tôi vẫn tiếp tục trải nghiệm hiệu năng thực sự khủng khiếp và không thể chấp nhận được trên ASUS Nexus 7 của tôi.

Nghiên cứu của tôi mang lại nhiều báo cáo rằng nếu bộ nhớ Nexus 7 "quá đầy", hiệu suất sẽ giảm đáng kể. Thiết bị của tôi có 3 GB bộ nhớ trống, vì vậy tôi đã nghi ngờ rằng Nexus 7 của tôi "quá đầy".

Tôi đã sử dụng tiện ích DiskUsage tuyệt vời để kiểm tra nội dung của bộ nhớ flash 16 GB của mình để xem liệu tôi có thể xóa một số dung lượng không. Tôi phát hiện ra một tập tin phim mà tôi đã xem từ lâu và quên mất việc tiêu tốn vài GB dung lượng.

Tôi đã xóa tệp phim, một số bản sao lưu Nandroid và Titanium cũ mà tôi không còn cần nữa và đã xóa một vài GB podcast mà tôi không cần. Điều này giải phóng vài GB trên thiết bị.

Hiệu suất bây giờ rất tuyệt vời trên Nexus 7. Tôi cảm thấy như mới.


Hiệu suất của bạn đã được cải thiện ngay lập tức? Tôi vừa xóa các ứng dụng và tập tin để chuyển từ khoảng 1,7 GB miễn phí xuống còn 6,7 GB miễn phí. Tôi cảm thấy như các bộ phận của hệ thống nhanh hơn một chút nhưng trên toàn bộ nhiều thứ vẫn còn bẩn như trước.
Sam

Đã hơn một năm kể từ khi tôi viết ở trên, và tôi sợ tôi không nhớ liệu hiệu suất có được cải thiện "ngay lập tức" không, xin lỗi. Ngoài ra, đã có nhiều cải tiến trong các phiên bản Android mới hơn. 5.0 Lollipop hiện đã có và sẽ có sẵn cho ASUS Nexus 7. Tôi không còn sở hữu thiết bị đó nữa, vì vậy tôi không thể giúp thêm về ASUS Nexus 7. 2012
Larry Silverman

0

Tôi đã thử xóa bộ nhớ cache dalvik nhưng nó không hoạt động, sau đó tôi đã thử xóa tất cả dữ liệu và cài đặt lại CyanogenMod 11 nhưng nó cũng không hoạt động. Sau đó, tôi đã đưa ra một giải pháp rằng bằng cách sử dụng CPU MASTER (có sẵn trên cửa hàng play), chúng tôi có thể đặt tần số CPU của chúng tôi ở mức tối đa trong thời gian vĩnh viễn và Bloom kết quả là không thể tin được. Tôi sẽ thích nó cho tất cả mọi người. Nhưng nó cần root nên .....


Xin chào Onkar và chào mừng bạn đến với những người đam mê Android! :) Trong khi câu trả lời của bạn có ý nghĩa, nó không giải quyết vấn đề cốt lõi của câu hỏi. Đặt tần số CPU rất có thể sẽ luôn mang lại hiệu suất tốt hơn nhưng đây không phải là điều mong muốn để làm ở đây. Đồng thời theo dõi thời lượng pin của bạn kể từ bây giờ :)
benjamin
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.