渐进式加载 - 提高用户体验度 - Android - 掘金
前言: 我们在PC端用浏览器看图片的时候,经常是先看到一张模糊图,然后再渐渐的变得清晰,这种情况在看漫画的时候尤其常见(模糊图如下),这种效果就叫做渐进式加载.渐进式加载能够大大的提升体验感,我们先来了解...
关于 Android 性能优化,该从哪些方面入手? - Android - 掘金
Android设备作为一种移动设备,无论是内存还是CPU的性能都受到了很大的限制,这导致Android程序的性能问题异常突出,对于性能优化提出了更高的要求。本篇文章根据Android开发中一些有效的性能优化方法,贴出一些关于性能优化方面的技术文章,为Andro...
Android APK 瘦身实践 - Android - 掘金
现在APK动不动就是几十兆,当用户连接到2G和3G网络,或者按流量收费的设备是多么的浪费,这篇文章介绍了如何对APK进行瘦身,帮助更多用户毫不犹顾忌地下载你们的APP。 以我的个人APP【 微言 】实践,未做任何处理,APK大小 11712 K...
移动接口安全规范 - Android - 掘金
接口结构 接口一律采用https , 如: https://api.xxx.cn/version/co... 请求参数 ...
人手一本: Android 应用优化小手册 - Android - 掘金
对我们技术从业者而言,很多时候时候不是我们不知道怎么做,而是不知道做什么?今天系统的总结自己关于如何对Android应用进行优化的一些经验,共计八个维度. ...
那些年,我们一起写过的 “单例模式” - Android - 掘金
本文来自:“天天P图攻城狮”公众号(ttpic_dev) 题记 度娘上对设计模式(Design pattern)的定义是:“一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。”它由著名的“四人帮”,又称 GOF (即 Gang...
Android 开发规范(updating) - Android - 掘金
安卓开发规范(updating) 摘要 前言 AS规范 命名规范 ...
Android 开发时,那些相见恨晚的工具或网站! - Android - 掘金
本文来我在知乎话题Android开发时你遇到过什么相见恨晚的工具或网站?下的回答! 在实际Android开发过程确实会有很多相见恨晚的工具或网站出现,下面是我自己的一些分享。 1 源码网站 ...
【知识必备】内存泄漏全解析,从此拒绝 ANR,让 OOM 远离你的身边,跟内存泄漏 say byebye - Android - 掘金
一、写在前面 对于C++来说,内存泄漏就是new出来的对象没有delete,俗称野指针;而对于java来说,就是new出来的Object放在Heap上无法被GC回收;而这里就把我之前的一篇内存泄漏的总结翻新,做一个更加全面规范的讲解,希望能帮到各位。 回到...
Android 定时任务详解 - Android - 掘金
Android系统下实现指定时长后执行某任务或周期性执行某项任务(以下统称为定时任务)通常有以下两种方式:1,定时任务实现TimerTask,Timer控制定时任务的启动,取消。2,通过PendingIntent执行定时任务,AlarmManager(安卓的闹...
Android 性能优化第(三)篇 ---MAT 比 Menmery Monitor 更强大 - Android - 掘金
在Android性能优化第(一)篇---基本概念中讲了JAVA的四大引用,讲了一下GCRoot,第二篇Memory Monitor检测内存泄露仅仅说了Menmery Monitor的使用,这篇博客谈一下MAT来寻找内存泄露,相对来说,Memory Monito...
高效 Android 开发者的工具库 - Android - 掘金
这篇文章介绍开发者如何学习提高以构建更好的app,我将分享一些自己受益过的教程和资料。 1. 使用Android studio的快捷键 1.1 tips 这里是一...
Android 性能优化典范 - Android - 掘金
摘要:新年伊始,Google发布了包含16个短视频的Android性能优化典范专题,详解Android系统中有关性能问题的底层工作原理,并介绍了如何通过工具找出性能问题以及提升性能的建议。本文作者对这些问题和建议进行了总结梳理。2015年伊始,Google发布...
编写高效的 Android 代码 - Android - 掘金
Effective Java我们都知道,这本书是编写高效可维护的java代码最重要的书籍。虽然Android使用java写的,但是书里的建议也不一定就完全适用。甚至有些人认为大部分建议都不适用于Android开发。在我看来,由于Android中使用的虚拟机(D...
Android 内存泄漏查找和解决 (长篇) - Android - 掘金
Android内存泄漏查找和解决 目录: ...
【译】Effective Java for Android - Android - 掘金
编辑推荐:稀土掘金,这是一个针对技术开发者的一个应用,你可以在掘金上获取最新最优质的技术干货,不仅仅是Android知识、前端、后端以至于产品和设计都有涉猎,想成为全栈工程师的朋友不要错过! 原文:https://medium.com/rocknnu...
常见内存泄漏场景以及解决办法 - Android - 掘金
实例化 对象是类的一个实例,创建对象的过程也叫类的实例化。对象是以类为模板来创建的。比如Car car = new Car();,我们就创造了一个Car的实例(Create new class i...
LeakCanary 直面项目中的内存泄露 - Android - 掘金
转载请标明出处:http://blog.csdn.net/donkor_/... 前言: ...
Android 中的 HashMap,ArrayMap 和 SparseArray - Android - 掘金
Android开发者都知道Lint在我们使用HashMap的时候会给出警告——使用SparseArray会优化内存。这可是一件好事情。那现在我们有几个类要学习去使用。比如:ArrayMap和SimpleArrayMap,当然还有各种类型的SparseArray...
使用 ArrayMap And SparseArray 来优化你的 Android 应用 - Android - 掘金
这篇文章将说明为什么使用 ArrayMap 和 SparseArray 优化你的 Android 应用。 每当你需要存储 key ->value 键值对数据时,第一个的想到的数据结构应该就是 HashMap .它是非常灵活的,我们...
携程移动端 UI 界面性能优化实践 - Android - 掘金
作者简介: 南志文,携程研发经理,曾负责App整体技术框架的架构研发与实践,现负责酒店业务的迭代更新及App架构、性能优化。曾先后就职于阿里巴巴、巨人网络。 导读: 在《程序员》杂志 10 月刊,作者发表了《携程移动端架构演进与优化之路》文章第...
Android源码分析--ArrayMap优化 - 掘金
以下链接是我这个系列的相关文章,有兴趣可以参考一下,可以给个喜欢或者关注我的文章。[Android]如何做一个崩溃率少于千分之三噶应用app--章节列表如果有看关注过我ModuleMap里面的源码,你会发现我从将里面的HashMap的数据结构,换成了Array...
Android 性能优化 - 过度绘制解决方案 - Android - 掘金
转载请注明出处:http://blog.csdn.net/a7401694... 过度绘制...
从一段奇怪代码开始说 - Android - 掘金
看Fresco的代码中,有这样的一个类: /** ...
Android 性能优化 - Render 篇 - Android - 掘金
前言 本篇文章是udacity上的Android Performace系列视频-Render篇的课程纪要。 这个系列是视频是Google和udacity合作推出的视频,在Google的Android Performace Pattern系列视...
Android全套动画使用技巧 - 掘金
我的开源社区博客同步发布更新:Android全套动画使用技巧一、Android View 动画框架 Animation框架定义了透明度、旋转、缩放和位移几种常见的动画,控制的整个View,实现原理是每次绘制视图时View所在ViewGroup中的dra...
Android 图片压缩框架 - Tiny - Android - 掘金
目的 为了简化对图片压缩的调用,提供最简洁与合理的api压缩逻辑,对于压缩为Bitmap根据屏幕分辨率动态适配最佳大小,对于压缩为File优化底层libjpeg的压缩,整个图片压缩过程全在压缩线程池中异步压缩,结束后分发回UI线程。 支持的压缩类型 ...
设置合适的 gradle 内存大小加快构建 - Android - 掘金
原文地址: https://medium.com/@skaliakou...
使用 Retrofit 和 Okhttp 实现网络缓存。无网读缓存,有网根据过期时间重新请求 - Android - 掘金
使用Retrofit和Okhttp实现网络缓存,更新于2016.02.02 本文使用 Retrofit2.0.0-beta2、Okhttp 2.6.0(Okhttp3.0之后api写法有变化) ...
项目需求讨论 - Android App 升级 - Android - 掘金
公司开发时候,应该最常用的就是APP升级功能,倒不是说的是热修复等技术,而是普通的检测到服务器版本比本地手机版本高的时候,手机会询问用户是否要下载最新的app,然后下载apk下来,然后进行安装,我以前用的都是别人封装好的。也没仔细看过,这次又正好有这个需求,就...
Android 让你的布局飞起来 - Android - 掘金
xiaoguo.gif 前言 在Android项目开发中一个界面的显示状态包括好几种:内容界面,loading界面,网络错误界面等等;以前开发的时候都是直接把这些界面include到m...
缩小你的项目 - 应用 Webp - Android - 掘金
前言 不管是 PC 还是移动端,图片一直是流量大头,以苹果公司 Retina 产品为代表的高 PPI 屏对图片的质量提出了更高的要求,如何保证在图片的精细度不降低的前提下缩小图片体积,成为了一个有价值且值得探索的事情。 但如今对于 JPEG、PNG 和 GIF...
Fragment-踩坑 - 掘金
背景 Fragment已经成为Android开发界面设计中不可或缺的一部分,同时也发挥着越来越重要的角色,虽然Fragment已经能出色的项目开发,但是在使用过程中也暴露了越来越多的问题,虽然google也一直在及时的修复,但是还是有很多坑,所以决定记录Fra...
ViewStub 是如何实现懒加载的 - Android - 掘金
ViewStub简介 public final class ViewStub extends View ViewStub 是一个宽高都为0,不可见的(GONE),不参与measure与layout(绝大部分情况),不绘...
Android 6.0 运行时权限简洁封装 - Android - 掘金
Android 6.0 运行时权限简洁封装 本文原创,转载请注明出处。欢迎关注我的 简书。 前言: ...
一种视频预加载的方案 - Android - 掘金
前言:视频的预加载是提高用户体验的重要因素。预加载成为网络视频播放不可或缺的一个技术环节。 预加载的形式: 1.边存边播:下载多少播放多少。 优点:快速加载播放,实现简单;缺点:不能拖动未存区域;适合音频媒体 2.代理服务器:预先下载媒体的头部(头部Siz...
App 统一存储管理模块 - Android - 掘金
为了解决App里存储的混乱而导致不必要的开发和维护成本,以及解决存储混乱导致的不能统一管理的问题,特此提供的统一的存储模块SHStorageManager,包括内存的缓存和磁盘存储,以module和key结合为维度进行...
AndroidVideoCache - 视频边播放边缓存的代理策略 - Android - 掘金
视频现状 现在视频播放的需求越来越常见,就和16年上半年的直播一样,似乎不加个视频已经不是个正常的APP了,连微信朋友圈都支持上传小视频,更别谈以视频为本命的一系列APP。视频方面主要是两块,一个是视频录制,这个已经翻过一篇比较...
多种方式实现 Android 定时任务,哪一款是你的 FEEL? - Android - 掘金
前言 解决方案 普通线程sleep的方式实现定时任务 Timer实现定时任务 Sc...
Google 官方详解 Android 性能优化 - 内存篇 - Android - 掘金
尊重博主原创,如需转载,请附上本文链接http://blog.csdn.net/chivalro... 为什么关注性能 对于一款APP,用户首先关注的是 app的性能,而不是APP...
java 性能优化:35 个小细节,让你提升 java 代码的运行效率 - 后端 - 掘金
文章来源:http://blog.csdn.net/richard_...作者:Richard_Jason代码优化,一个很重要的课题。可能有些人觉得没用,一些细小的地方有什么好修改的,改与不改对于代码的运行...
优化 App 的启动时间 - iOS - 掘金
这是一篇 WWDC 2016 Session 406 的学习笔记,从原理到实践讲述了如何优化 App 的启动时间。 App 运行理论 main() 执行前发生的事 Mach-O 格式 虚拟内存基础 Mach-O 二进制的加载 理论速成Mach-O 术语Ma...
(译) 125 个优化网站可用性的小点子 - 产品 - 掘金
一:控制用户的焦点和注意力1、强调用户界面的着眼点每个界面都应该有一个清晰的着眼点,即用户应该在第一眼就看到的地方。 2、通过视觉上的层级关系指引用户用户应该首先看哪里,其次呢,再然后呢?你要构建出这种视觉上的层次结构来指引用户。(1)合理使用负空间(物体之...
Android 开发艺术探索 性能优化部分 读书笔记 - Android - 掘金
主要介绍一些有效的性能优化方法;主要包括布局优化、绘制优化、内存泄漏优化、响应速度优化、ListView 优化、Bitmap 优化、线程优化等。...
Android 性能优化 - Android - 掘金
前言Android性能优化主要包括布局优化、绘制优化、内存泄露优化、响应速度优化、ListView优化、Bitmap优化、线程优化以及一些优化建议. 实际上每个面都可以扩展很多,书中讲的不太多(篇幅少),需要在实际中多去运用. 后面还有MAT的基本使用...
Andriod 性能优化之列表卡顿 - 以“简书”APP为例 - Android - 掘金
这几天闲得无聊,就打开手机上的开发者模式里面的“GPU过度绘制”功能,看看别家的App做的咋样,然后很偶然的打开了“简书”,然后就被它的过度绘制惊呆了,于是写了这篇性能分析的文章,从一个只有APK文件的角度,说下如何寻找布局中可能存在的性能问题,以及解决方案。...
送一个内存泄漏给 2016 的记几 - 掘金
原文链接:送一个内存泄漏给2016的记几 背景 年底了,看公司项目的友盟的bug列表,发现java.lang.OutOfMemoryError的问题不少,也该是时候还了。 问题描述 在解决内存泄漏的过程中,遇到一个静态变量导致的内存泄漏,关键是这代码还是自己敲...
Andriod 从 0 开始自定义控件之 View 的 layout 过程 (八) - Android - 掘金
转载请标明出处: http://blog.csdn.net/airsaid/... 本文出自:周游的博客 前言 源码分析 实例 单布局 getMeasuredWidth 和 getWidth 的区别 ...
移动端性能监控方案 Hertz - Android - 掘金
性能问题是造成App用户流失的罪魁祸首之一。App的性能问题包括崩溃、网络请求错误或超时、响应速度慢、列表滚动卡顿、流量大、耗电等等。而导致App性能低下的原因有很多,除去设备硬件和软件的外部因素,其中大部分是开发者错误地使用线程、锁、系统函数、编程范式、数据...
Android 性能监控实现原理 - Android - 掘金
涉及知识点:APM, java Agent, plugin, bytecode, asm, InvocationHandler, smail 一. 背景介绍 APM...
Android 内存优化 - Android - 掘金
本篇主要讲解android内存性能优化之检测方案。内存性能主要包括内存泄漏, 内存抖动, 内存持续增长(但GC后会下降), 内存占用过大等问题。 Android内...
一些你需要知道的布局优化技巧 - Android - 掘金
转载请注明出处:http://blog.csdn.net/qq_17766... 今天分享一些l...
Android 开发: 由模块化到组件化(一) - Android - 掘金
在Android SDK一文中,我们谈到模块化和组件化,现在我们来聊聊组件化开发。 以下高能,请做好心理准备,看不懂请发私信来交流.接下来还是先喊口号: 每天点我,点我,不要倒数第一 每天点我,点我,不要倒数第二 每天点我,点我,不要倒数第三 模...
Java 的 23 种设计模式全解析 - 后端 - 掘金
一、设计模式的分类 总体来说设计模式分为三大类: 创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。 结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。 行为型模式,共十一种:策略模式、...
一劳永逸的搞定 flex 布局 - 掘金
寻根溯源话布局 一切都始于这样一个问题:怎样通过 CSS 简单而优雅的实现水平、垂直同时居中。记得刚开始学习 CSS 的时候,看到 float 属性不由得感觉眼前一亮,顺理成章的联想到 Word 文档排版中用到的的左对齐、右对齐和居中对齐,然而很快就失望的发现...
iTerm2 快捷键大全 - 工具资源 - 掘金
标签 新建标签:command + t 关闭标签:command + w 切换标签:command + 数字 command + 左右方向键 切换全屏:command + enter 查找:command + f ...
awesome-mac(收集好用的 Mac 应用程序、软件以及工具) - 工具资源 - 掘金
这个仓库主要是收集非常好用的Mac应用程序、软件以及工具,主要面向开发者和设计师。有这个想法是因为我最近发了一篇较为火爆的涨粉儿微信公众号文章《工具武装的前端开发工程师》,于是建了这么一个仓库,持续更新作为补充,搜集更多好用的软件工具。请Star、Pull...
(译) 跨站请求伪造已死! - 掘金
原文链接:Cross-Site Request Forgery is dead! 原文作者:Scott 译文出自:掘金翻译计划 译者:XatMassacrE 校对者:newbieYoung,DeadLion 跨站请求伪造已死! 在连续不断的被跨站请求伪造折...
我们的最佳实践正在扼杀移动 web 性能 - 前端 - 掘金
Web performance rules invented for desktop web access need to be revised for the mobile era. Foreword Some years ago, web develope...
谈谈对 Web 安全的理解 - 前端 - 掘金
作为一个前端 er,掌握必要的网络安全知识是必要,下面我整理了几种常见的网络攻击方式及防御技巧,本文内容来自网络,仅供参考。 CSRF 攻击 CSRF(Cross-site request forgery), 中文名称:跨站请求伪造,也被称为:one clic...
(译) 这项浏览器调整使 Facebook 收到的网络请求减少了 60% - 前端 - 掘金
原文地址:This browser tweak saved 60% of requests to Facebook 原文作者:Nate Schloss Ben Maurer 译文出自:掘金翻译计划 ...
最近遇到的前端面试题 (2017.02.23 更新版) - 前端 - 掘金
个人博客已上线,欢迎前去访问评论!无媛无故 - wangchloe的个人博客 以下内容非本人原创,是整理后觉得更容易理解的版本,欢迎补充。 ...
Yarn 文档有中文版了! - 前端 - 掘金
你好!我是 James Kyle,是 Yarn 团队里的一员(这篇文章由罗诗亚翻译)。 如果你还不了解的话,Yarn 是用来代替 npm 客户端的命令行工具,它更快,更可靠,更安全。用 Yarn 后可以继续使用你所有的包。 今...
较为完整的 React.js / Vue.js 的性能比较 Part 1 - 前端 - 掘金
原文链接 : comparing React.js to Vue.js for dynamic tabular data 译文出自 : 掘金翻译计划 译者 : circlelove 校对者:liangbijie , jamweak ...
开发工具心得:如何 10 倍提高你的 Webpack 构建效率 - 阅读 - 掘金
前言 图1:ES6 + Webpack + React + Babel webpack 是个好东西,和 NPM 搭配起来使用管理模块实在非常方便。而 Babel 更是神一般的存在,让我们在这个浏览器尚未全面普及 ES6 语法的时代可以先一步体验到新的...
开启 V8 对象属性的 “fast” 模式 - 前端 - 掘金
在 Bluebird 库中有一段匪夷所思的代码(/src/util.js): function toFastProperties(obj) { /jshint -W027/ function f() {} f.prototype =...
前端优化不完全指南 - 前端 - 掘金
篇幅可能有点长,我想先聊一聊阅读的方式,我希望你阅读的时候,能够把我当作你的竞争对手,你的梦想是超越我。你想超越我,就得了解我懂什么对吧,好,开始阅读~ ~ 哈哈哈 ~ ~ ~ 历时144000000毫秒出山的前端优化篇,若你问我有什么感悟?那我告诉你,看到毫...
浅析渲染引擎与前端优化 - 前端 - 掘金
本文主要是两方面内容: 浅析浏览器内核的工作原理(以 WebKit 2 为例)。 浅析由浏览器内核想到的前端优化,或者说前端优化规则是从哪儿来的。 大家知道,大部分的 WEB 页面依托...
身为设计师,你也许需要一些算法 - 设计 - 掘金
Sidebar 是我最近常去的一个小站, 每天会更新五篇关于设计的文章,读一个帮你打一个勾,在工作之余看看很是舒服。上周的推送中有一篇 How UX helped me learn English 让我想到了自己——英文阅读能力的薄弱让我对设计前...
Webpack2 升级指南和特性摘要 - 前端 - 掘金
历时多日,webpack2.2正式版终于赶在年前发布了,此次更新相对于1.X版本有了诸多的升级优化改进,笔者也在第一时间查阅了官方的文档,整理和翻译了由webpack1升级到2所需要了解的API变更和注意事项,翻译不足的地方也欢迎随时交流指正。 ...
用 webpack 实现持久化缓存 - 前端 - 掘金
什么是持久化缓存? 缓存(cache)一直是前端性能优化的重头戏,利用好静态资源的缓存机制,可以使我们的 web 应用更加快速和稳定。仅仅简单的资源缓存是不够的,我们还要为不断更新的资源做持久化缓存(Lon...
如何在 webpack 中引入未模块化的库,如 Zepto - 前端 - 掘金
前言 最近我在研究多页面 webpack 模块打包的完整解决方案时,发现用 import 导入 Zepto 时,会报 Uncaught TypeError: Cannot read property 'cr...
Icon 进化史 - 前端 - 掘金
“南方古猿”之 png sprite 看到上面这张图,相信好多资深前端会感到很亲切。 早期为了减少资源的请求,人们想到了将小的 png 图片合并到一张图上,然后根据 background-position 来显示不同的图片。 早期还有靠人肉来...
由阮一峰老师的一条微博引发的 TDZ 思考 - 前端 - 掘金
昨天(1月20号),阮老师在微博上发布了这样一条微博: TDZ.jpeg 阮老师贴了一段代码,报错了,然后左思右想觉得这是V8的错,这...
localStorage 的黑科技 - js 和 css 缓存机制 - 前端 - 掘金
一、发现黑科技的起因 今天在微信公众号看到一篇技术博文,想用印象笔记收藏,所以发送了文章链接到pc上。然后习惯性地打开控制台,看看源码,想了解下最近微信用了什么新技术。 呵呵,以下勾起了我侦探的欲望。页面加载后的异常点就是只加...
一个微信面试题引发的血案 --(译) 什么阻塞了 DOM? - 掘金
译者注:昨天一篇工作仅一年的前端工程师面试几个大厂的文章 (1月前端面试记) 在掘金火爆起来。一方面大家觉得作者太厉害了,工作近一年,能力竟然这么强(大叔我表示惭愧),另一方面几个微信面试题引起很多讨论。其中我比较感兴趣的一个题目是关于JavaScript和C...