2012-04-29 82 views
5

Tôi hiện đang viết Bitmap cho một tệp png và cũng đọc chúng trở lại một Bitmap. Tôi đang tìm cách để cải thiện tốc độ đọc và ghi. Những hình ảnh cần phải được lossless kể từ khi tôi đọc chúng trở lại để chỉnh sửa chúng.Cách nhanh nhất để đọc/ghi Bitmap từ/đến tệp?

Nơi tôi thấy hiệu suất tồi tệ nhất là BitmapFactory.decode(...) thực tế.

vài câu hỏi:
1. Có một giải pháp nhanh hơn để đọc/ghi từ tập tin vào một Bitmap sử dụng NDK?
2. Có thư viện nào tốt hơn để giải mã Bitmap nhanh hơn không?
3. Cách tốt nhất để lưu trữ và đọc một Bitmap là gì?

+0

Một số suy nghĩ: 1. Bạn đang cố gắng viết ** ở đâu **? 2. Có lẽ là không. Giải mã rất tốn kém. 3. Có nhiều giải pháp nén, nhưng cá nhân tôi thích 9 bản vá. – hwrdprkns

+0

Tôi đã cập nhật câu hỏi của mình để đề cập đến tệp. Vâng, bản vá 9 chắc chắn sẽ không hoạt động. Những hình ảnh này là bản vẽ không thể được vá 9 bản. Phải có một số loại thư viện NDK có thể giải mã nhanh hơn một chút? : P – Jona

+0

Eh, tôi sẽ nghĩ rằng nếu bạn có một hình ảnh JPEG đó là nén như nó sẽ nhận được, trừ khi bạn biết một cái gì đó về hình ảnh trước ... – hwrdprkns

Trả lời

4

Cố gắng giải quyết cách tốt nhất/nhanh nhất có thể để đọc/ghi hình ảnh vào tệp đến bằng cách sử dụng đồng bằng cũ BitmapFactory. Tôi đã thử bằng cách sử dụng NDK để làm mã hóa/giải mã nhưng điều đó thực sự không tạo ra sự khác biệt.

Về cơ bản định dạng sử dụng là PNG không mất dữ liệu vì tôi không muốn mất bất kỳ chất lượng nào sau khi chỉnh sửa hình ảnh.

Khái niệm chính từ tất cả điều này là tôi cần hiểu là mã hóa mất bao lâu so với giải mã. Các số mã hóa trong 300-600ms trên, tùy thuộc vào kích thước hình ảnh và giải mã chỉ nhanh, khoảng 10-23ms.

Sau khi hiểu tất cả những gì tôi vừa tạo một chuỗi công nhân mà tôi đã truyền hình ảnh cần mã hóa và để cho nó thực hiện công việc mà không ảnh hưởng đến trải nghiệm người dùng. Hình ảnh được lưu trữ trong bộ nhớ trong trường hợp cần thiết ngay trước khi nó được mã hóa hoàn toàn và lưu vào tập tin.

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