首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
卷卷TechMessager
掘友等级
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
22
文章 11
沸点 11
赞
22
返回
|
搜索文章
赞
文章( 11 )
沸点( 11 )
Android图片加载框架解析(二),从源码的角度理解Glide的执行流程(下)
接着上一篇的文章,最后一篇会跟大家介绍decodeFromSource() 方法。 我们先来看第一步,decodeSource() 方法中的逻辑也并不复杂,首先在第 14 行调用了 fetcher.loadData() 方法。那么这个 fetcher 是什么呢?其实就是刚才在 …
从一次请求开始,深入探索OkHttp
OkHttp是Android开发中非常常用的一个网络请求库了,它支持HTTP1、HTTP2等多种协议,是我们日常开发中非常给力的帮手。本篇文章基于OkHttp4.9.0版本代码,从OkHttp的创建开始,探究OkHttp是如何发起一次网络请求的。如果你有耐心看完,相信你会对…
ExoPlayer 漫谈之提升渲染性能
Android L以及Andrioid L以上的版本提供了异步模式, 通过在codec--->configure中设置callback来将数据处理放在异步线程中完成,然后在回调中处理解码出的数据,给开发者设置了回调,你可以在回调中根据自己的需求来处理原始数据. 同步模式当然就是…
ExoPlayer 漫谈之解码器复用
播放器性能的极致优化,就是要发现播放流程中一点一滴的耗时,然后分析这些耗时,并提出有效的方式解决这些耗时.了解过ExoPlayer播放器的同学们都知道ExoPlayer的解码是依赖Android系统提供的原生的解码模块,即MediaCodec来实行视频和音频解码的. 这块耗时对…
面向对象基本原则
分为五大原则和一大法则,其基本目的就是创建高内聚(类内成员关系)、低耦合(类之间关系)的代码。类之间关系中继承的耦合度最高,尽量使用组合和聚合的方式替代继承。 不要把一个模块的所有功能都放在一个类里,要根据职责划分对类进行拆分。两个不一样的功能就不应放在一个类里,一个类里的方法…
阿里巴巴Android开发手册
代码是一个程序猿的门面,有门面的程序猿才是一个好程序猿。 充分理解,技术意识的引导,是个人学习、团队沟通、项目合作的方向。 什么样的编码和实现方式;“反例”说明需要提防的雷区,以及错误案例。 资源文件需带模块前缀。 layout 文件的命名方式。 drawable 资源名称以小…
Android--关闭某个指定activity
最近项目中有这样的需要,在关闭当前Activity同时关闭前面两个Activity,不涉及到应用的退出。自己想了一些方案,也查了一些资料,做个笔记吧。 这个是最容易想到的,同时也是网上提供最多的。 由于多个Activity要使用,关闭页面的广播最好写在基类BaseActivit…
RecyclerView使用
1. 基础使用 RecyclerView需要自己继承RecyclerView.Adapter以及RecyclerView.ViewHolder。 实现ViewHolder,作用就是初始Item中要用的子控件,其作为Adapter的内部类即可。 实现Adapter,这里有三个重要…
面试官: 说说看, 什么是 Hook (钩子) 线程以及应用场景?
通常情况下,我们可以向应用程序注入一个或多个 Hook (钩子) 线程,这样,在程序即将退出的时候,也就是 JVM 程序即将退出的时候,Hook 线程就会被启动执行。 从打印日志看到,当主线程执行结束,也就是 JVM 进程即将退出的时候,注入的两个 Hook 线程都被启动并打印…
Android Jetpack - Fragment官方说明
Fragment 表示 Activity 中的行为或用户界面部分。您可以将多个fragment组合在一个 Activity 中来构建多窗格 UI,以及在多个 Activity 中重复使用某个fragment。您可以将fragment视为 Activity 的模块化组成部分,它具…
下一页
个人成就
文章被阅读
190
掘力值
11
关注了
6
关注者
0
收藏集
1
关注标签
13
加入于
2017-10-23