如何让App首屏启动更快 -- httpdns持久化缓存方案

简介: httpdns作为解决域名劫持,调度不精准问题的一剂良药,很大程度上改善了app的用户体验。为了追求更加极致的性能体验,本文推出httpdns持久化缓存方案,让app首屏启动更快!


首屏启动之痛


对于大部分app而言,首屏启动是最为关键的场景之一,一旦出现阻塞将直接影响到用户体验,为此阿里云httpdns sdk推荐异步接口getIpByHostAsync来获取ip,其大致过程如下:


image


用户从调用getIpByHostAsync接口大致会经历:


(1)内存缓存检查


(2)ip合法性检查


(3)异步httpdns请求


从流程中可以看出,由于httpdns请求是异步的,对于app首屏场景来说,httpdns可能正在解析途中,app在解析结果返回前会拿到空的ip,转而去做Local DNS解析。


解决之道:持久化缓存


为了追求极致的性能体验,尽量避免首屏启动时的Local DNS解析,本文推出httpdns的持久化缓存方案,新增接口:


void setCachedIPEnabled(boolean enable);


初始化示例:


service = HttpDns.getService(getApplicationContext(), ACCOUNT_ID);


service.setCachedIPEnabled(true);


当setCachedIPEnabled(true)被调用时,httpdns解析记录从持久化缓存同步到内存缓存。httpdns请求成功,解析记录会同步更新到内存缓存和持久化缓存,其大致过程如下:


Step1 httpdns sdk初始化


Step2 持久化缓存开启


Step3 持久化缓存记录更新到内存缓存


Step4 调用getIpByHostAsync


Step5 检查ip是否合法


Step6 拿到ip,发起http请求


采用持久化缓存前,APP启动时发起业务请求时过程:


image


采用持久化缓存后的过程如下:


image


有了持久化缓存,app首屏启动就能立刻拿到解析好的ip,同时,阿里云httpdns sdk内部的过期机制也能保证拿到ip的可靠性。此外,网络切换发生后,SP(Server Provider,服务提供商)也可能发生变化,相同Host在不同SP下获取的ip也会区别对待。httpdns sdk会结合当前网络环境,通过SP和Host共同确定ip,让app拿到的结果更加精准。


钉钉搜索35248489,加入阿里云云原生应用研发平台EMAS技术交流群,探讨最新最热门的应用研发技术和实践。(或钉钉扫码加入)


image.png


相关文章
|
存储 缓存 Android开发
android 读取WebView缓存及清理WebView缓存
1.缓存的分类: 首先要说的一点是缓存的分类,我们缓存的数据分为:页面缓存和数据缓存 页面缓存:加载一个网页时的html、JS、CSS等页面或者资源数据,这些缓存资源是由于浏览器  的行为而产生,开发者只能通过配置HTTP响应头影响浏览器的行为才能间接地影响到这些缓存数据。
3330 0
|
机器学习/深度学习 传感器 算法
基于Matlab模拟双站测角交叉定位GDOP推导
基于Matlab模拟双站测角交叉定位GDOP推导
|
搜索推荐 Python
【现学现用】matplotlib画图(plt与ax的关系add_subplot与subplots等)
【现学现用】matplotlib画图(plt与ax的关系add_subplot与subplots等)
601 0
【现学现用】matplotlib画图(plt与ax的关系add_subplot与subplots等)
|
Android开发
Android CoordinatorLayout(三) CoordinatorLayout的组合使用
上章讲了CollapsingToolbarLayout + Toolbar的简单用法,记住是简单哈,复杂需要自定义,搞不来的就用简单吧。 注意:只用要使用到上一章那种效果才用CollapsingToolbarLayout ,其它效果没必要用。
1742 0
|
2天前
|
存储 弹性计算 人工智能
【2025云栖精华内容】 打造持续领先,全球覆盖的澎湃算力底座——通用计算产品发布与行业实践专场回顾
2025年9月24日,阿里云弹性计算团队多位产品、技术专家及服务器团队技术专家共同在【2025云栖大会】现场带来了《通用计算产品发布与行业实践》的专场论坛,本论坛聚焦弹性计算多款通用算力产品发布。同时,ECS云服务器安全能力、资源售卖模式、计算AI助手等用户体验关键环节也宣布升级,让用云更简单、更智能。海尔三翼鸟云服务负责人刘建锋先生作为特邀嘉宾,莅临现场分享了关于阿里云ECS g9i推动AIoT平台的场景落地实践。
【2025云栖精华内容】 打造持续领先,全球覆盖的澎湃算力底座——通用计算产品发布与行业实践专场回顾
|
4天前
|
云安全 数据采集 人工智能
古茗联名引爆全网,阿里云三层防护助力对抗黑产
阿里云三层校验+风险识别,为古茗每一杯奶茶保驾护航!
古茗联名引爆全网,阿里云三层防护助力对抗黑产
|
4天前
|
存储 机器学习/深度学习 人工智能
大模型微调技术:LoRA原理与实践
本文深入解析大语言模型微调中的关键技术——低秩自适应(LoRA)。通过分析全参数微调的计算瓶颈,详细阐述LoRA的数学原理、实现机制和优势特点。文章包含完整的PyTorch实现代码、性能对比实验以及实际应用场景,为开发者提供高效微调大模型的实践指南。
532 1