Tôi có thể thay đổi vị trí bộ đệm của dalvik không, ví dụ như với một liên kết tượng trưng?


9

Tôi hiện đang sử dụng Link2SD vì bộ nhớ trên bo mạch của tôi không đủ cho nhiều ứng dụng cần thiết. Nó rất hiệu quả nhưng giới hạn khi điện thoại bật.

Trong khi thay đổi ROM, bộ nhớ cache dalvik bị xóa và khi điện thoại khởi động lại, bạn sẽ thấy một thanh tiến trình cho biết Android đang tối ưu hóa các ứng dụng. Vì vậy, với số lượng ứng dụng hợp lý, bộ đệm dalvik sẽ lấp đầy bộ lưu trữ từ lâu trước khi link2sd có thể làm bất cứ điều gì về nó.

Vì vậy, có cách nào gắn kết thư mục thẻ sd làm vị trí bộ đệm phù hợp trước khi hệ thống khởi động và khởi động công việc không? Tôi biết nó có thể liên quan đến việc tạo ra một liên kết tượng trưng nhưng tôi chỉ không biết khi nào mọi thứ được gắn kết và theo thứ tự nào.

Câu trả lời:


2

Tất nhiên bạn có thể. Mặc dù có vẻ như không có vấn đề gì khi di chuyển dalvik-cache sang hệ thống tệp thẻ SD bình thường (phổ biến nhất, vfat), chúng tôi vẫn khuyên bạn nên định dạng thẻ SD của mình thành ext4 (hoặc giống như của bạn /data) để đảm bảo mọi thứ hoạt động khỏe.

Vậy hãy đi đi. Nên sao lưu toàn bộ tất cả các ứng dụng của bạn trước khi tiếp tục mặc dù nếu bạn cảm thấy may mắn thì không cần thiết. Giả sử rằng bạn có một trình giả lập thiết bị đầu cuối để thực hiện các công việc cần thiết.

Đầu tiên, tạo một thư mục mà bạn muốn di chuyển bộ nhớ cache của bạn sang. Sau đó chmodchownthư mục mới để phù hợp /data/dalvik-cache. Nếu bạn đang chạy HĐH Android hỗ trợ SELinux, đừng quên thay đổi bối cảnh bảo mật tương ứng. Chạy

ls -dlZ /data/dalvik-cache
ls -lZ /data/dalvik-cache

để xem các quyền ban đầu, chủ sở hữu / nhóm và bối cảnh bảo mật của thư mục dalvik-cache.

Tiếp theo, sao chép tất cả các tệp từ /data/dalvik-cachevị trí mới của bạn, ví dụ /storage/sdcard1/dalvik-cache. Bạn có thể sử dụng cp -alệnh để bảo toàn các thuộc tính tệp, điều này sẽ làm cho mọi thứ đơn giản hơn.

Đảm bảo không có ứng dụng mới nào bắt đầu trong quá trình của bước sau.

Sau đó, rm -r /data/dalvik-cachevà tạo một liên kết tượng trưng đến vị trí mới bằng cách sử dụng

ln -s /storage/sdcard1/dalvik-cache /data/dalvik-cache

Đó là tất cả. Đã được thực hiện. Khởi động lại điện thoại của bạn (không bắt buộc nhưng được khuyến nghị).

Một số thông báo về quy trình này:

  1. Busbox có thể không phải lúc nào cũng hoạt động tốt vì Android dựa trên nhân Linux được sửa đổi cao. Ví dụ, hầu như tất cả các chức năng liên quan đến SELinux không hoạt động đúng. Bạn có thể kiểm tra nó như hình dưới đây.

    toolbox ls -Z /data
    busybox ls -Z /data
    toolbox getenforce
    busybox getenforce
    

    Tuy nhiên, những thứ này có thể hoạt động chính xác, tùy thuộc vào phiên bản Android:

    busybox chcon <context> <files...>
    busybox runcon <context <program> [args...]
    
  2. Không bao giờ tháo thẻ SD của bạn. Nếu bạn định dạng lại thẻ SD của mình, hãy đảm bảo rằng nó vẫn còn ext4 VÀ tạo lại thư mục dalvik-cache trước khi khởi động điện thoại của bạn lần đầu tiên.


Tôi không biết làm thế nào để viết câu trả lời toàn diện này khi tôi gặp lại nó sau một năm. Đoán tôi đã quên nhiều về Android (tất nhiên là không thể).
iBug

1

Có một số Howtos đẹp có sẵn, có thể chứng minh hữu ích để giải quyết vấn đề của bạn:

Theo một số chủ đề của diễn đàn, A2SDGUI - Darktremor A2SD GUI nên là ứng dụng được lựa chọn để di chuyển bộ đệm Dalvik sang thẻ SD của bạn.


1
Sẽ rất tuyệt nếu bạn có thể thêm một số thông tin từ các liên kết vào bài đăng của mình
Flow

Đó là một chút quá nhiều thứ để tích hợp với câu trả lời của tôi - đó là lý do tại sao tôi chỉ trích xuất gợi ý cơ bản, tức là ứng dụng để thực hiện công việc.
Izzy
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.