首页 文章 精选 留言 我的
优秀的个人博客,低调大师

微信关注我们

原文链接:https://my.oschina.net/u/4611872/blog/15640029

转载内容版权归作者及来源网站所有!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

得物App白屏优化系列|归因篇

一、前言 本系列前面两篇文章已经分别在图片库和网络库的角度介绍了诸多白屏问题的定位和解决方案,但都是相对独立的问题,并且像OSCP,CDN节点异常之类的第三方问题无法彻底根治,因此为了长治白屏并发掘更多问题,就需要一套相对完善的白屏检测+问题归因体系。 本文将介绍从用户视角出发的白屏检测方案以及线上白屏问题的大致归因思路。 二、白屏归因平台概览 三、客户端 检测思路 直接将白屏检测写到图片库里似乎是比较合适的方案,但是基础库的改动也可能出bug导致图片加载失败,例如图片请求的url被某个bug置空,这样展示的效果就是接口正常但是图片全都展示占位图,如果写在图片库里将无法发现该问题。 因此为了规避类似的事件发生,我们需要一个完全使用系统API来实现的白屏检测方案,站在用户视角来判断当前是否发生了白屏,而图片库和网络库提供的信息仅作为前置判断和现场日志。 整体流程图 屏上图片获取 既然是站在用户视角,那么我们就只需要检测屏上的ImageView即可,根据线上用户反馈的信息,白屏问题主要集中在动态流和商品流这类存在大量图片加载的recyclerView中,那么根据recyclerView的特...

缓存预热有哪些方案?

一道经典面试题:缓存预热有哪些方案? 在系统业务高峰期到来之前,我们提前将一些热点数据加载到缓存中,进而提高系统的响应速度,这就是所谓的缓存预热。 那么怎么实现缓存预热呢? 一般来说,我们主要有三种思路: 系统启动时加载缓存。 定时任务加载缓存。 使用缓存加载器。 每种里边往往又对应了不同的具体方案,我们逐一来看。 一 系统启动时加载缓存 这个就是利用系统启动时候的一些钩子函数,或者如事件监听机制或者是框架专为系统启动预留的方法,在这些方法中去加载缓存。 这里松哥给四个常见的思路。 1.1 启动监听事件 使用 ApplicationListener 监听 Spring Boot 启动完成的事件,如 ContextRefreshedEvent 或 ApplicationReadyEvent,在事件触发后加载数据到缓存。 举个栗子: import org.springframework.context.ApplicationListener; import org.springframework.context.event.ContextRefreshedEvent; import org...

相关文章

发表评论

资源下载

更多资源
优质分享App

优质分享App

近一个月的开发和优化,本站点的第一个app全新上线。该app采用极致压缩,本体才4.36MB。系统里面做了大量数据访问、缓存优化。方便用户在手机上查看文章。后续会推出HarmonyOS的适配版本。

Oracle

Oracle

Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。它是一种高效率、可靠性好的、适应高吞吐量的数据库方案。

Apache Tomcat

Apache Tomcat

Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。

JDK

JDK

JDK是 Java 语言的软件开发工具包,主要用于移动设备、嵌入式设备上的java应用程序。JDK是整个java开发的核心,它包含了JAVA的运行环境(JVM+Java系统类库)和JAVA工具。