2015-09-16 57 views
6

Khi tôi cài đặt ứng dụng trên điện thoại chính/mới, kích thước đã cài đặt vào khoảng 18.5MB và khi tôi cài đặt ứng dụng trên Samsung Galaxy Ace cũ (Mk1), đối với một số lý do, nó cài đặt với khá nhiều kích thước tương tự, như bạn thấy ở đây:Kích thước cài đặt ứng dụng giống nhau trên các loại thiết bị khác nhau

enter image description here

nó chạy hoàn hảo trên điện thoại chính của tôi, nhưng rõ ràng, Galaxy Ace cũ thực sự đấu tranh với nó.

Bây giờ, tôi tải về một trò chơi ngẫu nhiên từ Play Store và với một mà bạn có thể xem kết quả ở đây:

enter image description here

Tốt hơn nhiều, nó chiếm ít không gian trên điện thoại ít có khả năng hơn trên điện thoại có khả năng hơn.

Tuy nhiên, câu hỏi của tôi là, tôi có thể bắt đầu cố gắng tìm ra lý do tại sao ứng dụng của tôi không thể hiện hành vi mong muốn này?

Thông tin về dự án của tôi

tôi đã cung cấp 4 bộ đồ họa trong dự án của tôi và họ là:

Graphics

  • xhdpi: Tổng số 3.73MB
  • HDPI: Tổng số 2,87MB
  • MDPI: Tota l 1.33MB
  • LDPI: Tổng số 1.03MB

Sound

  • OGG Sound Files: 202KB
  • MP3 Soundtrack: 5.6MB

The (Unsigned và đã ký) tệp APK khoảng 16.02MB

Ngoài ra còn có tệp classes.dex trong APK khoảng 3,5MB.

Trong Eclipse, tôi liên kết tệp BaseGameUtils và tệp Google-play-service-lib.

Tôi biết rằng trò chơi của tôi hơi đói hơn một chút so với trò chơi khác mà tôi đã tải xuống - nhưng đó không phải là vấn đề của câu hỏi này. Tôi cần đảm bảo rằng kích thước của ứng dụng được cài đặt nhỏ hơn trên các điện thoại có khả năng thấp hơn so với các điện thoại 'tốt hơn' nhưng bạn có thể thấy, chính tôi là chính xác là.

Mọi trợ giúp sẽ được đánh giá cao.

Sửa

thông tin bổ sung nếu nó giúp:

Samsung Galaxy Ace đang chạy Android 2.3.4 Gingerbread

Chiếc điện thoại khác đang chạy Android 4.4.2 Kit Kat

+0

Bạn đã kích hoạt Proguard trên ứng dụng của bạn? – George

+1

Có @georgerappell Proguard được bật và hoạt động. Vấn đề không phải là APK đã xuất/đã ký không bị giảm kích thước - bởi vì có vấn đề là dấu chân cài đặt giống nhau trên 2 thiết bị này trong khi mọi ứng dụng khác mà tôi đã cài đặt đều có một cài đặt giảm đáng kể trên Galaxy Ace - cảm ơn! – Zippy

Trả lời

6

câu trả lời là hình ảnh .. bạn thấy các ứng dụng Android có thể chỉ định địa điểm nơi các ứng dụng có nghĩa vụ phải được cài đặt, cho dù nội hay external- bạn có thể làm điều đó trong file manifest Android của bạn

android:installLocation="auto" 

Nhìn vào bạn ứng dụng bạn từ ảnh chụp màn hình cài đặt mà bạn chưa chỉ định phần tử đó trong tệp kê khai của mình do đó nút "move_to_sdCard" không hoạt động. Y ứng dụng của chúng tôi cài đặt trong bộ nhớ trong

đến các ứng dụng khác, nhìn vào ảnh chụp màn hình bạn sẽ thấy rằng các "nút move_to_phone" được kích hoạt vì họ xác định tính năng mà vì thế kể từ khi không có đủ không gian trên thiết bị của bạn sẽ tự động cài đặt ứng dụng của bạn trên bộ nhớ ngoài hoặc bộ nhớ ngoài hoàn toàn .. Nhưng khi tính năng đó được đặt không phải tất cả các tài nguyên hoặc tệp được cài đặt trên bộ nhớ trong bên ngoài, chúng được chia sẻ. quá trình do đó ouput.

Nói về độ trễ của ứng dụng, bạn cần phải nhập mã vào các mã của mình khá nhiều. cũng apis mới chứa các chức năng những cái cũ không có, do đó bạn cần phải đánh giá lại các loại mã bạn chọn ..

Hope tôi sáng suốt đủ

+1

Brilliant - đây là câu trả lời đúng! - Tôi đặt nó vào tệp kê khai của tôi và bây giờ ứng dụng của tôi chỉ đăng ký là chiếm 6,87 MB và không phải là 18,49 như hiển thị trong ảnh chụp màn hình ở trên. – Zippy

1

Có thể là "Ứng dụng khác" đang sử dụng Multiple APK kỹ thuật xuất bản ứng dụng trên Cửa hàng Play. Với tính năng này, bạn có thể xây dựng và triển khai một số (các) apk nhắm mục tiêu mỗi màn hình mật độ thiết bị cụ thể. Bằng cách này, bạn có thể giảm thứ nguyên apk vì mỗi gói ứng dụng sẽ chỉ có tài nguyên cho mục tiêu của mình và tự động Cửa hàng Play sẽ phân phối đúng thứ nguyên.

+0

Tôi không nghĩ đó là @Pollizzio, khi tôi nhìn vào kích thước APK trên Cửa hàng Play cho ứng dụng khác này, nó báo cáo cùng kích thước trên cả hai thiết bị. Ngoài ra, và điều này có thể nói nhiều hơn, tôi đã tải xuống APK của ứng dụng tôi đã sử dụng để kiểm tra điều này và cài đặt thủ công trên 2 thiết bị của tôi, cùng một APK, dấu chân cài đặt hoàn toàn khác nhau, vì vậy tôi đoán có một số bước tôi đang thiếu một nơi nào đó – Zippy

+0

có thể? http://developer.android.com/google/play/expansion-files.html – Pollizzio

+0

Thật không may tôi nghi ngờ đó là @Polizzio, các tệp mở rộng dành cho các tệp .APK có dung lượng> 50MB theo như tôi biết. APK mà chúng tôi đang sử dụng không ở đâu gần như vậy nên sẽ không có lý do gì để sử dụng các tệp mở rộng, cộng với chúng không tải xuống bất cứ thứ gì sau khi bạn chạy chúng và nó vẫn không giải thích tại sao dấu chân cài đặt ban đầu lại khác. Thanks anyway :-) – Zippy

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