关于bilibili缓存、实际缓存和iOS现实的已用内存大小不符合、怎么破、

关于bilibili缓存、实际缓存和iOS现实的已用内存大小不符合、怎么破、,第1张

通过“我的—设置—缓存设置”是不能完全清理干净Bilibili iOS客户端的垃圾文件。

可以尝试:卸载APP--重启设备--重装APP

长按桌面图标,删除Bilibili iOS客户端;

稍等几分钟(待系统在后台删文件),重启手机;

进入App Store重新安装Bilibili。

B站到目前为止,还是没有修复iOS端 APP网页缓存、视频缓存不能清理的Bug。这会导致app无限增大,直到完全占满你设备的储存空间为止。

1、前往 iPhone “设置”-“通用”-“iPhone 储存空间”。可以查看到已安装应用和各个应用所占用储存空间量的列表。轻点应用的名称,可获取有关储存空间的更多信息。在此界面中,您可以看到究竟是哪些应用占据的空间较多,从而考虑进行清理。

2、“最近删除”相簿:如果您在“照片”App 中,删除了一些照片,它们会暂时存放到“最近删除”相簿,并保留 30 天;如果您确认不再需要这些照片,可以在此点击“最近删除”相簿旁边的“清空”按钮,一键进行清除。

3、清除微信缓存:现在大部分用户最常使用的应用就是微信,依次打开微信“我”-“设置”-“通用”-“储存空间”,等待其计算完毕之后,点击缓存旁边的“清理”按钮即可进行清理。在此界面中,您还可以对聊天记录进行管理,删除不需要的记录。

4、清理 Safari 浏览器缓存:进入 iPhone“设置”–“Safari 浏览器”–“清除历史记录与网站数据”可快速清除Safari浏览器中的缓存。不过需要注意的是,当您清除之后,需要重新登陆网页。另外,可以把“自动离线存储”选项关闭。

5、清理语音备忘录:如果您有使用语音备忘录,可打开 iPhone “设置”-“语音备忘录”对“清除已删除的项目”进行管理。

6、清理过期信息:在 iPhone “设置”-“信息”-“保留信息”中,可以选择将信息保留的时间。

7、清理 Apple Music:Apple Music 用户可以前往“设置”–“音乐”–“优化储存空间”,限制从 Apple Music 中下载歌曲的最大占用空间。开启后,当超过该限制就会自动删除很久没听的老歌了。

文章部分出于自己的理解,有不对的地方,希望大家指正。

实例对象我们可以看作是一个指针,实例对象通过isa指针指向类对象,类对象通过isa指针指向元类对象,类对象和元类对象本身其实都是objc_class结构体,里面存放着我们需要的方法列表等。

那么当我们方法调用的时候,方法是如何缓存的呢

当我们方法调用的时候,首先通过isa指针找到类对象,然后在类对象的方法列表里面查找相对应的方法,找到以后会加入到我们方法缓存里面,等下次我们再调用的时候,首先会先从缓存里面去查找相关方法,更加的效率。

那如果我们调用的是父类里面的方法呢,其实父类对象里面的方法是不可以缓存到子类方法缓存列表里面的,所以,当我们调用的是父类对象里面的方法的时候,其方法不会在子类对象方法缓存列表里面进行缓存。

元类对象的相关缓存同类对象。

至于缓存扩容和具体的缓存策略:

在arm64结构,也就是真机环境下,刚开始初始化的缓存方法的容器的长度2,当容器的长度小于8时,是满容量了才扩容。当容器的长度大于8时,是7/8扩容。也就是说当容器的长度为8时,容器可以存储8个方法。当容器的长度为16时,当第15个方法需要存储进来的时候,容器就要扩容了。

在x86_64架构下,刚开始初始化的容器的长度为4,是3/4扩容。这里的3/4扩容指的是:如果容器的长度为4,当第3个数据需要存储的时候,就要扩容了。如果容器的长度为8,当第6个数据需要存储的时候,就要扩容了。也就是说容器只能存储容器长度的3/4减1个方法。

还有一点就是:当容器扩容之后,前面存储的方法也会随之清空。

参考链接: >

当我们开发程序时,经常需要缓存网络或从磁盘读取时,多数时候我们选择SDWebImage,不得不说这个框架很优秀,许多的问题都不要我们去考虑。然而有些场景是需要自定义,NSMutableDictionary是多数人的选择。然而NSCache类更好,它是Foundation框架专为处理这种任务设计的。

NSCache的优点:

1当系统资源将要耗尽时,它可以自动增减缓存。

2NSCache会优先删除"最久未使用的"。

3NSCache是线程安全的。

4NSCache可以设置缓存的总个数和总的大小值。

总结:

1线程安全是非常有必要的,功能复杂后出现这种偶现问题很难排查。

2NSCache有一套专用的缓存机制,为开发者提供了便捷,如果自己实现将会很复杂。当NSCache不能满足开发者的需求时,可考虑选择自定义缓存。

3当有这种缓存场景的时候,我们优先考虑NSCache。

4SDWebImage内存级别缓存用的是NSCache,可查看SDImageCache的memCache。

以上就是关于关于bilibili缓存、实际缓存和iOS现实的已用内存大小不符合、怎么破、全部的内容,包括:关于bilibili缓存、实际缓存和iOS现实的已用内存大小不符合、怎么破、、ios13清理缓存的方法 超简单的方法、ios中关于方法缓存cache策略等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9496761.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-29
下一篇 2023-04-29

发表评论

登录后才能评论

评论列表(0条)

保存