百度APP iOS端内存优化实践、像 Canvas 一样自由绘图构建样式! | 酱酱的下午茶第116期
酱酱们的下午茶全新改版,欢迎大家多提宝贵意见!
本文字数 1800+,阅读时间大约需要 6 分钟。
今日主理人|下午茶
PS:主理人目前正在招募中,有感兴趣的掘友们可以联系Captain
每日干货|下午茶
主理人们会对近期(1-3 天)社区深度技术好文进行挖掘和筛选,优质的技术文章有机会出现在下方列表,排名不分先后。
『前端』
现如今的页面越来越复杂,一个页面往往承载着大量的元素,最常见的就是一些电商页面,数以万计的商品列表是怎么保证渲染不卡顿的,大家在面对这种长列表渲染的场景下,一般都会采用分页或者虚拟列表来减缓页面一次性渲染的压力,但这些方式都需要配合JS来时实现,那么有没有仅使用CSS就能够实现的方案呢?
主要在最近的免单突袭活动中,利用了大量的动画特效。 但是有一个 钥匙碎裂的动画特别卡, 一开始对问题的定义是不是页面上的序列帧动画太多,导致canvas 占用了 大量内存,因为播放这个序列帧动画的时候, 测试反应 安卓手机 卡的像幻灯片。但是苹果手机却没事。
本章节我们将要实现 Icon 组件,Icon 组件应该是所有组件里面最简单的一个组件了,所以我们由简入深,循序渐进进行学习。Icon 组件虽然简单,但它却包含了一个组件的全部基础流程,通过实现 Icon 组件进行理解 Element Plus 组件实现的基本原理。
又或者说,在今天,是否 CSS 还存在着更进一步的功能,能够实现更为强大的效果? 没错,是可以的,这也就引出了今天的主角,CSS Houdini 之 CSS Paint API。
『后端』
我们就一起动手实践下,在项目中集成Ehcache并体验Ehcache的各种常见用法。
本篇的目的就是解开MySQL中Innodb的神秘面纱直击第一现场来感受真实的数据存储,分析建模设计过程中列类型的影响,帮助更好地做好“精挑细选”。
从这篇开始我们就进入 Java 并发编程基础内容方面的学习啦,这篇文章咱们总结一下 Java线程的基础,打好基础,后面几篇再学多线程的同步控制中的各种锁、线程通信等方面的知识时就会觉得更容易些。
- 事务通过undo日志实现回滚的功能,从而实现事务的原子性(Atomicity)。
- 多个事务生成的undo日志构成一条版本链。快照读时事务根据read view来决定具体读哪个快照。当前读时事务直接读最新的快照版本。
- mysql的innodb引擎通过MVCC提升了读写并发。
在项目里面,多多少少都隐藏着一些执行比较慢的SQL, 不同的开发测试人员在平时使用的过程中多多少少都能够遇到,但是无法立马有时间去排查解决。那么如果有一个文件能够将这些使用过程中比较慢的SQL记录下来,定期去分析排查,那该多美好啊。这种情况MySQL也替我们想到了,它提供了SQL慢查询的日志,本文就分享下如何使用吧。
『移动端』
随着业务的发展,百度APP有很多大内存业务场景如直播、短视频、小程序、百度识图等,通过线上页面统计数据得知超过150M页面有40个,耗内存最多的页面有400M。单个页面不会有内存或者稳定性问题,但是当用户浏览了很多页面之后,累加起来内存已经很高了,再加上我们为了追求秒开,经常采用的思路是以空间换取时间,从而导致APP处于一个内存高水位状态,在这种情况下如果打开一个大内存页面,中低端机极大概率会出现OOM类型的崩溃。 内存管控方案应运而生,该方案重点解决的问题是在内存水位很高的情况下,保证APP稳定性又兼顾用户体验,延长APP使用时长同时避免OOM。
Glog 是货拉拉移动端监控系统中的日志存储组件,Glog 意即 General log - 通用日志。为了满足我们对日志格式的多种需求,我们在存储方式、归档方式上做了一些探索和实践,使得 Glog 的通用性和性能优于常见的日志方案。Glog 已经在货拉拉全线 App 中稳定运行了 1 年多,现在将其开源,我们希望 Glog 的开源能够为移动开发者提供一种更加通用的日志方案,同时希望 Glog 能够从社区中汲取养分,不断得到优化和完善。
📖 投稿专区|下午茶
大家可以在评论区推荐认为不错的文章,并附上链接和推荐理由,有机会登上下一期。文章创建日期必须在近 1-3 天内;可以推荐自己的文章、也可以推荐他人的文章。
转载自:https://juejin.cn/post/7169098334446190605