2012-12-05 71 views
7

Từ những gì tôi hiểu, chúng tôi lưu trữ các đối tượng thường xuyên truy cập trong một phân đoạn bộ nhớ dễ truy cập hơn so với đọc đĩa thông thường.GetExternalCacheDir() hoạt động như thế nào trên Android?

getExternalCacheDir(), trái ngược với getCacheDir() trỏ đến hệ thống tệp bên ngoài - dường như với tôi là bình thường getExternalFilesDir().

Android tối ưu hóa quyền truy cập vào ExternalCacheDir như thế nào? Có giống như không gian "hoán đổi" trên Linux không?

+0

Hãy nhớ rằng dữ liệu bạn lưu trữ bằng một trong hai phương pháp này hoàn toàn có thể truy cập được đối với các ứng dụng khác có quyền READ_EXTERNAL_STORAGE. Bạn nên giả định rằng bất kỳ dữ liệu nào được lưu trữ ở đây đều có thể được đọc và sửa đổi (thậm chí có khả năng gây hại) bởi các ứng dụng khác trên thiết bị của người dùng. Để lưu trữ dữ liệu an toàn hơn, hãy sử dụng getDir() hoặc getCacheDir() để thay thế. – Ajedi32

Trả lời

6

getExternalCacheDir()getExternalFilesDir() là hai thư mục khác nhau.

Sự khác biệt là mục đầu tiên chỉ dành cho tệp tạm thời hoặc tệp bộ nhớ cache có thể bị xóa bởi hệ thống hoặc người dùng (thông qua nút Cài đặt tương ứng) để lấy lại dung lượng.

Cách thứ hai là dành cho tệp vĩnh viễn. Dù sao, bạn phải tính đến các cân nhắc của tài liệu liên quan đến thư mục được trả lại bởi getExternalCacheDir().

+0

Về cơ bản, tôi muốn biết bộ đệm trên hệ thống tệp bên ngoài cung cấp truy cập nhanh hơn như thế nào. Câu trả lời này không giúp ích gì. – SlowAndSteady

+2

Bộ nhớ cache hạn được sử dụng trong những phương thức không liên quan đến máy tính, không đại diện cho những thư mục đó cung cấp truy cập nhanh hơn (như bạn đang nói, nó là cùng một hệ thống tập tin với cùng thời gian truy cập). ẩn và hữu ích để lưu trữ các tệp mà ứng dụng có thể cần. – Jorge

+1

nếu bạn đặt nhận xét này làm câu trả lời, tôi có thể chấp nhận nó. – SlowAndSteady

Các vấn đề liên quan