2010-10-19 13 views
6

Tôi đang phát triển một ứng dụng web di động và tôi có màn hình chính với một số biểu tượng trên đó, vì vậy tôi đã cố gắng sử dụng một sprite để phục vụ tất cả các hình ảnh trong một swoop. Tuy nhiên, tôi nhận thấy rằng iphone4 thu nhỏ các hình ảnh trong ảnh của tôi khá tốt (chúng trông hơi dithered), nhưng trên HTC Evo của tôi, các hình ảnh hiển thị hình sprite trông thực sự khối ôzôn. Tôi đã chuyển sang hình ảnh chuẩn (nền: (/ image_url /) với vị trí nền) và hình ảnh trông đẹp hơn nhiều - xem này screen shot, nơi hình ảnh bên trái được phân phát bằng hình ảnh đơn và hình ảnh bên phải được phục vụ từ các sprite (nhưng là những hình ảnh tương tự trong sprite).Chia sẻ trình duyệt web của Android hoạt động hiệu quả hơn cho hình ảnh so với Sprites

Có cách nào để trình duyệt Android diễn giải các họa tiết tốt hơn không?

Trả lời

2

Bạn đang đạt đến rào cản kích thước hình ảnh được giải mã tối đa trong trình duyệt Android. Giới hạn kích thước này được nâng lên một cái gì đó hợp lý trong 2.3. Hãy thử chia nhỏ các hình ảnh của bạn thành các hình ảnh nhỏ hơn.

+0

Thú vị, bạn có biết kích thước tối đa trong Froyo không? Đây không phải là phụ thuộc thiết bị, phải không? – Simon

+0

Tôi đào qua mã nguồn có liên quan tại đây: http://www.sephidev.net/external/webkit/WebCore/platform/graphics/android/ImageSourceAndroid.cpp. Giới hạn kích thước là 8 * 1024 * 1024 byte (khoảng 8M) trên "thiết bị bộ nhớ lớn" (> 256M) và 2 * 1024 * 1024 byte (khoảng 2M) trên "thiết bị bộ nhớ thấp". Lưu ý rằng đây là kích thước ** được giải nén **, mà bạn có thể ước tính bằng cách lưu hình ảnh nguồn của bạn dưới dạng bitmap và kiểm tra tệp. – tad

+0

@tad Cảm ơn bạn một lần nữa cho bình luận tiếp theo của bạn với con trỏ đến tập tin src webkit nơi mà macro macro được sử dụng - đã lưu tôi đống thời gian tìm kiếm xung quanh cố gắng khắc phục điều đó. – Maks

0

Đây chỉ là phỏng đoán nhưng bạn đang sử dụng cái nào? Nhà điều hành hoặc kết nối wifi của bạn? Một số nhà khai thác nén hình ảnh trên kích thước nhất định.

+0

Đó là một dự đoán tốt, nhưng tôi đã sử dụng kết nối wifi của mình để kéo hình ảnh xuống. – Simon