2012-11-22 24 views
5

Tôi có kịch bản sau:Làm cách nào để cải thiện tốc độ tải/tốc độ xuất bản cho một ứng dụng AIR dành cho Android với nhiều lớp học?

Ứng dụng dành cho thiết bị Android có vài trăm lớp. Tôi đang sử dụng Flash CS5.5, phát triển trong AS3 bằng AIR dành cho Android.

Ứng dụng là trò chơi xếp hình và mỗi lớp đại diện cho một trong những yếu tố từ câu đố. Mỗi lớp là một dẫn xuất của một lớp cơ sở và chỉ chứa một vài thông tin cụ thể như tên duy nhất, thể loại, vị trí trong câu đố. Mỗi lớp cũng đính kèm một hình ảnh 80 x 80 px vào nó. Tuy nhiên, có khoảng 300 lớp như thế này.

Ứng dụng chạy rất trơn tru NGUỒN CNTT vì mất mãi mãi để ứng dụng xuất bản và sau đó để ứng dụng chạy trên thiết bị di động. Tôi không gặp vấn đề gì với thời gian xuất/xuất bản cao và thời gian cài đặt trên thiết bị di động khá cao. Nhưng mỗi lần tôi chạy ứng dụng từ thiết bị di động, phải mất khoảng 2 phút để tải ứng dụng đó là trò chơi 3D FPS cao cấp, thậm chí không cao cấp cho thời gian dài. Các thử nghiệm được thực hiện trên HTC Sensation chạy Android 4.0 và sau đó là 4.1.

Câu hỏi của tôi là, tôi có thể làm gì để giúp giảm thời gian khởi động ban đầu này? Tôi đề cập đến một lần nữa, các ứng dụng chạy trơn tru một lần tải vì nó thực sự không phải là phức tạp cũng không sử dụng rất nhiều đồ họa sang một bên nhiều hình ảnh JPG 80x80 gắn liền với mỗi lớp. Trong thử nghiệm ban đầu, khi tôi có 20-30 lớp học chỉ được thực hiện, mọi thứ đều trơn tru. Khi tôi thêm tất cả các yếu tố cần thiết cho trò chơi sau khi logic của trò chơi được hoàn thành, mọi thứ đều tải chậm.

Cảm ơn bạn đã trả lời/đề xuất bất kỳ.

+1

cách mô đun hóa và tải nó - một số có thể được tải khi cần - nhưng theo cách này bạn sẽ có ứng dụng "cốt lõi" nhỏ sẽ khởi chạy nhanh hơn. –

+0

Làm cách nào để ngăn tất cả các lớp và mục thư viện tải khi khởi động? :) – Ioan

+1

bạn đang sử dụng Flash IDE để xây dựng hơn là khó loại trừ nhưng không phải là không thể. Bạn phải tìm kiếm SWC và loại trừ các lớp và về ApplicationDomain. Bạn không phải sử dụng mọi lớp trong lớp "Chính". Bạn có thể có một "bộ nạp" là lớp "chính" sẽ tải các phần tử khác, v.v. nhưng bạn cần google về các dự án mô-đun. –

Trả lời

1

Nếu bạn muốn tăng tốc thời gian biên dịch cho dự án AS3 trong Flash CS5.5, hãy chuyển đến cài đặt Actionscript 3 cho tệp .fla của bạn và tắt 'Chế độ cảnh báo'. Chế độ cảnh báo có một chút chi phí vì nó cố gắng cung cấp cho bạn các cảnh báo hữu ích khi di chuyển mã từ AS2 sang AS3. Nếu bạn biết bạn đang làm gì, bạn có thể tắt chức năng này và tiết kiệm rất nhiều thời gian.

1) Tệp> Cài đặt xuất bản. 2) Nhấp vào biểu tượng cờ lê bên cạnh 'Actionscript 3.0' 3) Bỏ chọn 'Chế độ cảnh báo'

Lần cắt biên dịch này thực hiện một dự án lớn cho tôi một chút. Một thứ khác giúp chia tài sản của bạn thành các swfs/swcs nhỏ hơn chỉ được đưa vào trong thời gian chạy.

Chỉ một câu trả lời một phần, tôi không biết cách khắc phục thời gian tải chậm trên thiết bị Android. Chúc may mắn!

+0

Cảm ơn một triệu. Tôi đã thấy giải pháp này ở một nơi khác, nhưng cũng tốt khi nó xuất hiện ở đây. Điều này mang lại thời gian tải để xuất bản ứng dụng lên 2-3 giây. Đối với tải thời gian tải ứng dụng, tôi quyết định xóa tất cả liên kết từ thư viện sang ActionScript và tải hình ảnh động của mình khi cần: http://verysimpleideastudios.com/actionscript3/actionscript-3-dynamically-loading-images – Ioan

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