2016-12-06 18 views
8

tôi đọc tài liệu về Phản ứng thành phần hình ảnh Native trong trang web này và nhận được một số câu hỏi: https://facebook.github.io/react-native/docs/image.htmlPhản ứng Native - Hình ảnh bộ nhớ cache

  1. Nếu tôi sử dụng thuộc tính nguồn để hiển thị hình ảnh. Hình ảnh sẽ được lưu vào bộ nhớ cache và lưu vào đĩa sau khi tải xuống?

  2. Nếu có, chính sách bộ nhớ cache là gì?

  3. Nếu tôi muốn lưu hình ảnh đã tải xuống vào đĩa. Sử dụng phương thức getSize hoặc prefetch có tốt hơn không?

Rất cám ơn.

Trả lời

2

Phản hồi thành phần hình ảnh gốc thành phần chính sách bộ nhớ cache của NSURLRequest như được mô tả here. Cá nhân tôi sử dụng RNFetchBlob để lưu trữ hình ảnh như mô tả here. Bạn cũng có thể thanh toán this component.

0

Bạn có thể quan tâm đến mô-đun thành phần thứ tự cao hơn của tôi có thêm chức năng lưu bộ nhớ đệm hình ảnh liên quan đến hiệu suất và "bộ nhớ cache vĩnh viễn" vào thành phần < gốc >.

React Native Image Cache HOC

Tl; DR Mã số Ví dụ:

import imageCacheHoc from 'react-native-image-cache-hoc'; 
const CacheableImage = imageCacheHoc(Image); 

export default class App extends Component<{}> { 
    render() { 
    return (
     <View style={styles.container}> 
     <Text style={styles.welcome}>Welcome to React Native!</Text> 
     <CacheableImage style={styles.image} source={{uri: 'https://i.redd.it/rc29s4bz61uz.png'}} /> 
     <CacheableImage style={styles.image} source={{uri: 'https://i.redd.it/hhhim0kc5swz.jpg'}} permanent={true} /> 
     </View> 
); 
    } 
} 

Những hình ảnh đầu tiên sẽ được lưu trữ cho đến khi tổng bộ nhớ cache địa phương phát triển qua 15 MB (theo mặc định) hình ảnh sau đó lưu trữ được xóa lâu đời nhất đầu tiên cho đến khi tổng bộ đệm ẩn dưới 15 MB một lần nữa.

Hình ảnh thứ hai sẽ được lưu trữ vào đĩa cục bộ vĩnh viễn. Mọi người sử dụng tính năng này để thay thế cho việc chuyển các tệp hình ảnh tĩnh bằng ứng dụng của bạn.

Điều đó sẽ xử lý yêu cầu của bạn ra khỏi hộp. Hy vọng nó giúp!

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