Apk包大小是Android优化的一项重要指标,本文主要从资源方面着手,提出一些优化的新思路。 无用资源精简 项目随着开发迭代,会遗留大量的无用代码和资源,今天主要说一下无用资源如何精简。资源精简最重要的是无用资源的检索…
分类:字节跳动技术博客
React 路由状态管理总结
一、依赖(Dependencies) 在一般 SPA 开发中,路由的管理十分重要。作为 React 技术体系中的一部分,官方维护的 React-Router 则是首选的路由库。 在应用 Redux 模式后,React-R…
光流概念基础
真实的三维空间中,描述物体运动状态的物理概念是运动场。三维空间中的每一个点,经过某段时间的运动之后会到达一个新的位置,而这个位移过程可以用运动场来描述。 而在计算机视觉的空间中,计算机所接收到的信号往往是二维图片信息。由…
iOS端一次视频全屏需求的实现
对于一个带有视频播放功能的app产品来说,视频全屏是一个基本且重要的需求。虽然这个需求看起来很简单,但是在实现上,我们前后迭代了三套技术方案。这篇文章将介绍这三种实现方案中的利弊和坑点,以及实现过程中积累的经验。 需求要…
Redis migrate slots丢key排查
1.问题 redis slots迁移的时候,在迁移之后key数量会变少. 2.排查 2.1思考 redis 3.x也是比较成熟的产品了,为什么会丢key?别人有没有遇到同样的问题? 假设丢key了,如果key是因为exp…
头条APK瘦身之路
随着版本迭代,功能增加安装包体积也会慢慢增大。 今日头条576版本APK达到了25M,通过一系列的优化,到目前的607版本为12M。本文主要是介绍头条APK瘦身中用到的一些方法。 APK分析 既然是要优化APK的大小,那…
给前端工程师讲设计终篇
一.工程师对设计偏见的起源 迅速想象一副世界地图,它是什么样子的? 这样? 还是这样? 如果仔细观察上面两幅图,可以看出其中的差异: 以英文为关键词搜索,大部分世界地图的中心是美洲欧洲;但如果以中文为关键词搜索,搜索结果…
从前端到全端:JavaScript逆袭之路
近年来,前端技术日新月异,前端已经不仅仅是网页,更多的开始由狭义向广义发展。 先后涌现出了具备后端能力的node,具备移动开发能力的react native,具备游戏渲染能力的cocos2d-js,以及iOS上的热修复技…
Hive:percentile_approx 原理与实现
背景 不久前,我们处理了一个用户工单,该工单对应的 HQL 如下所示: 这个 HQL 看上去并不复杂,其目的不过是计算 column0 这个字段的几个近似分位点(percentile_approx),就一个 stage,…
Web安全之XSS
什么是XSS 跨站脚本攻击(Cross Site Scripting),为不和层叠样式表(Cascading Style Sheets, CSS)的缩写混淆,故将跨站脚本攻击缩写为XSS。恶意攻击者往Web页面里插入恶意…
iOS音视频同步探讨
音视频同步是我们观看视频的一个基本体验,尤其对于视频画面中能看到声源动作(如:嘴型)的场景,音视频同步问题非常影响体验。 在短视频与直播APP中,采集端作为音视频的生产者,如果采集端产生的音视频源本身就无法保证同步,那么…
机器内存爆满问题排查
1 背景 两周前广告开屏服务突然503报警不断,先查看了各种业务监控没发现流量等有什么大变化,因为不久之前出过一次机器出问题的情况,马上去查看了机器是不是正常,果然内存几乎涨满了。大概十来分钟内存就会达到90%多,然后进…