2016-01-21 48 views
3

我想计算SDWebImage占用的当前内存大小(不是SDWebImage的最大大小)。在应用程序使用过程中,我需要通过SDWebImage缓存对象跟踪当前的RAM分配情况。SDWebImage缓存对象的大小

基本上我想在NSCache对象中计算所有图像(当时出现)的大小。

我该怎么做?

谢谢。

回答

1

意思此,从SDWebImageCache.h采取:

/** 
    * The maximum "total cost" of the in-memory image cache. The cost function is the number of pixels held in memory. 
    */ 

    @property (assign, nonatomic) NSUInteger maxMemoryCost;` 

字节然后总数是在存储器中保存的像素数*每像素字节,在这种情况下的数4字节/象素

+0

缓存(在给定时间点)消耗的RAM数量(以字节/ KB为单位)。 – Karthik207

+0

从maxMemoryCost中,我如何计算分配的内存? – Karthik207

+0

它总是4字节/像素?你如何确定每个像素的字节数? – Karthik207

5

我认为这将使用给定的代码返回内存缓存。

使用getSize功能SDImageCache.h。它在内存缓存中返回。

[[SDImageCache sharedImageCache] getSize]; 

按照SDWebImage了解更多详情。

+0

[[SDImageCache sharedImageCache] getSize]给出的磁盘高速缓存大小不是内存高速缓存。 – Karthik207

+0

仅供参考,检索的大小以字节为单位。 –