2009-06-10 35 views
8

Tôi đang làm việc trên một ứng dụng Android cần thực hiện trên một vài tệp dữ liệu với tổng số khoảng 30MB. Tôi đặt cùng một bài kiểm tra và trình giả lập không thành công với OutOfDiskSpace. Gỡ lỗi trên thiết bị không thành công với kích thước dữ liệu nhỏ hơn. Sau khi đọc qua các nhóm google, có vẻ như giới hạn kích thước ứng dụng không được nêu ở bất kỳ đâu và không ai từ google đã được cung cấp thông tin cụ thể về điều này. Do có các ứng dụng iPhone có kích thước trên 100MB, việc giới hạn nhỏ trên các ứng dụng Android có vẻ lạ, ngoại trừ việc bạn có một lượng không gian lưu trữ ứng dụng tương đối nhỏ (< 100MB). Ứng dụng Android yêu cầu tệp dữ liệu lớn

Bây giờ cho câu hỏi của tôi:

gì kỹ thuật để bạn sử dụng để đối phó với giới hạn này? Nếu bạn có một ứng dụng cần nhiều hơn 10MB, bạn có đặt nó trên máy chủ web và xử lý tải xuống ứng dụng lần đầu tiên không? Nếu vậy, làm thế nào để bạn xử lý kiểm soát truy cập để chỉ ứng dụng của bạn mới có thể lấy dữ liệu?

Trả lời

0

Có vẻ như bạn đang cố gắng tải một số tệp lớn vào bộ nhớ - không bao giờ có thể mở rộng. Sử dụng mô hình truyền trực tuyến để xử lý tệp theo khối hoặc nén nội dung nếu bạn cần toàn bộ nội dung. Nếu bạn đang phục vụ nó từ một máy chủ web/dịch vụ chỉ phục vụ các phần ứng dụng cần ngay sau đó, thay vì sau đó toàn bộ tập tin.

+0

Đó không phải là vấn đề. Vấn đề là tìm kiếm một kỹ thuật tốt để truy cập dữ liệu cần thiết. Toàn bộ ứng dụng không bao giờ tải vào bộ nhớ, nhưng tổng kích thước bị hạn chế như những gì bạn thậm chí có thể sao chép vào không gian ứng dụng. – AdamC

+0

@Gandlaf Tôi đồng ý với cách làm việc của bạn cho những tệp lớn như vậy. Tôi nghĩ rằng các poster ban đầu đã nói về APK nói chung mặc dù nó đã không được nêu như vậy. Dù sao, tôi upvoted bạn như tôi không thể hiểu được lý do cho downvote. –

11

Kỹ thuật phổ biến là tải xuống dữ liệu khi ứng dụng được chạy lần đầu tiên và lưu dữ liệu vào thẻ SD. điều này là do bộ nhớ trong là một hàng hóa khan hiếm với trạng thái hiện tại của Android. Cài đặt ứng dụng vào thẻ sd không được hỗ trợ chính thức và bộ nhớ trong của HTC Dream và Sapphire bị thiếu.

Here is a link to a thread trên nhóm android-nhà phát triển chính thức mà một kỹ sư của Google Android (Dianne Hackborn) đáp ứng cho câu hỏi này rất có

Giải pháp tốt nhất ngay bây giờ là tôi nghĩ để tải dữ liệu lớn của bạn sau khi cài đặt.

+0

Tại sao bỏ phiếu xuống? Dường như với tôi rằng câu hỏi là làm cách nào để tôi tạo một ứng dụng với một lượng lớn dữ liệu? Ngay bây giờ, cách để làm điều đó là đặt ứng dụng cơ sở trên Android Market và sau đó tải xuống các tệp lớn (dữ liệu audo/video/nén) trong lần chạy đầu tiên trên ứng dụng, lưu các tệp lớn này vào thẻ SD để bạn không hết dung lượng trên thiết bị thực tế. Đây không phải là câu hỏi? – snctln

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