
移动开发
C v lie
追求美好,阳光
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Android屏幕适配方案
目前比较流行的屏幕适配方案是今日头条适配方案和smallest width限定符适配方案首先来说一下今日头条的屏幕适配方案:简介:我们写UI界面的时候,都是使用dp作为单位,UI给出的设计图也是以dp为单位,比如UI给的图是宽x高为360x640dp的。那么我们为了达到在所有手机上都能不变形的展示UI图,那么我们所有的手机都要是宽x高 = 360 x 640dp,很显然,实际情况不是这样的,因...原创 2020-04-17 20:52:27 · 501 阅读 · 0 评论 -
ExoPlayer的使用与解析(官方文档翻译)
简介ExoPlayer是一个Android应用层的媒体播放器,它提供了一套可替换Android MediaPlayer的API,可以播放本地或者是线上的音视频资源。ExoPlayer支持一些Android MediaPlayer不支持的特性,比如适配DASH和SmoothStreaming 的播放。和MediaPlayer不同的是,ExoPlayer很容易自定义和扩展,并且它可以通过应用商店...原创 2019-04-28 22:54:13 · 5661 阅读 · 0 评论 -
Android 自定义轮播图(Banner)
先上图看效果:知识要点:轮播图是怎么做到无限循环的呢让ViewPagerAdapter里面的getCount返回MAX_VALUE,instantiateItem方法中,获取图片的时候,让position % drawableList.size(),来得到真实值 @Override public int getCount() { return Integer.MAX_VA...原创 2019-03-11 17:04:45 · 992 阅读 · 0 评论 -
Retrofit源码解密之----------动态代理
写在前面的话Retrofit是开源的网络请求框架,是目前最火的框架之一,也是求职面试之中被提问的比较多的知识点。最近抽了点时间阅读了一下Retrofit源代码,给大家分享一下 public <T> T create(final Class<T> service) { //判断service是不是个接口 Utils.validateServiceInter...原创 2019-03-08 22:21:25 · 246 阅读 · 0 评论 -
《Android开发艺术与探索》读书笔记之Binder
1.Binder是Android中夸进程通信的一种方式。从Android FrameWork 角度来说,Binder是ServiceManager连接各种Manager(ActivityManager和WindowManager等)和相应ManagerService的桥梁。从Android应用层来说,Binder是客户端和服务端进行通信的媒介,当bindService的时候,服务端会返回包含了一个...原创 2019-03-02 20:38:46 · 216 阅读 · 0 评论 -
Android抽屉集成示例
集成步骤:1.新建一个Android studio工程:2.添加依赖compile 'com.ikimuhendis:ldrawer:0.1'3.编写activity_main.xml文件<android.support.v4.widget.DrawerLayout android:id="@+id/drawer_layout" xmlns:android="...原创 2019-02-18 09:53:40 · 196 阅读 · 0 评论 -
Android优化方案
1.启动时间优化Android 启动耗时主要发生在Application的onCreate()方法和主Activity的onCreate()方法中,主线程如果不能尽快的执行渲染UI的操作,就会给人一种启动慢的感觉。产生这种现象的原因主要是启动时,Application的onCreate()方法中和主Activity的onCreate()方法中有一些操作占用了主线程的资源,导致主线程花去了时间去执...原创 2019-02-16 22:06:57 · 193 阅读 · 0 评论 -
Android apk打包流程
1.任何一个apk的运行都需要一个签名, 测试和开发阶段,开发工具会自动生成一个debug key来为应用签名;当应用要发布的时候,需要一个release key来为应用签名。2.为什么要给Android应用程序签名?这样做的根本原因是Android系统需要一个机制,保证以下几点:1). 拿到一个应用的安装包,能够知道作者是谁2). 当应用更新时,能够检测是不是作者本人提交的3). 应用...原创 2019-01-30 14:08:17 · 10267 阅读 · 0 评论 -
git 仓库迁移
如果你的项目在一个地址的仓库上托管,后面想迁移到另一个地址的仓库上去,并且迁移的要求如下:1. git 提交历史必须完全保留2. git的各个分支和tag必须完全保留那么可以通过下面操作完成迁移:在新的地址上新建一个仓库,新建的仓库名字和原仓库名字保持一致就行#clone下来旧的仓库mkdir testgit clone http://..../..../..../test_temp...原创 2019-02-15 10:27:28 · 197 阅读 · 0 评论 -
JAVA知识总结(一)
1.乐观锁CAS是乐观锁技术,当多个线程尝试使用CAS同时更新同一个变量时,只有其中一个线程能更新变量的值,而其他线程都失败,失败的线程并不会被挂起,而是被告知这次竞争中失败,并可以再次尝试。实现原理:如果内存位置V的值与操作线程预期原值A的值相匹配,那么处理器会自动将该位置更新为新值B,否则处理器将不做任何操作。CAS有效的说明了“我认为该位置应该包含值A,如果包含该值,则将B放到这个位置上...原创 2019-01-29 10:06:54 · 201 阅读 · 0 评论