E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
——Android进阶
Android进阶
:三、这一次,我们用最详细的方式解析Android消息机制的源码
决定再写一次有关Handler的源码Handler源码解析一、创建Handler对象使用handler最简单的方式:直接new一个Handler的对象Handlerhandler=newHandler();所以我们来看看它的构造函数的源码:publicHandler(){this(null,false);}publicHandler(Callbackcallback,booleanasync){i
Android小安
·
2019-05-15 21:56
Android进阶
——借助远程服务AIDL完成跨进程更新UI初探
文章大纲引言一、Android跨进程更新UI的方式二、实现AIDL跨进程更新View1、创建更新UI的aidl并定义业务接口2、封装基本的父类和一些工具类3、实现对应AIDL的远程Service4、实现另一个进程的Activity5、在清单上注册服务和Activity6、MainActivity的实现三、借助Aidl和RemoteViews实现跨进程更新UI1、创建AIDL文件2、实现远程服务3、
CrazyMo_
·
2019-05-11 22:26
AIDL
跨进程更新
远程服务
Android
进阶
Android进阶
:十四、熟悉Android打包编译的流程
Android进阶
系列性文章最后一篇,之后我会更新其他系列性文章,欢迎关注从事Android高级研发,怎能不知道Android的打包流程呢?
Android_SE
·
2019-05-07 16:59
Android
高级开发
Android打包流程
Android进阶
(5)| 理解RemoteViews
本节目录一.RemoteViews的应用RemoteViews的概念:RemoteViews就是一种在其他进程中显示的View,在实际开发中它主要是用在通知栏和桌面小部件的开发过程中。1.RemoteViews在通知栏上的应用当我们需要正在通知栏中自定义通知时,我们可以先提供一个布局文件,然后通过RemoteViews来加载这个布局文件即可改变通知的样式:Notificationnotificat
yzbkaka
·
2019-05-04 11:38
RxJava2.x.y学习之路(一)
本来买了本
Android进阶
之路,里面有写到RxJava的内容,准备跟着学习来着,结果里面的内容有点老了,rxjava都2.x.y了。所以只能到网上找找资料了。
MagicGGGGGGGGGGG
·
2019-05-02 17:49
RxJava
Android进阶
之绘制-自定义View完全掌握(三)
自定义View系列的第三篇博客,我们来学习如何实现自定义下拉框。今天的程序,我们来实现这样的一个效果。布局非常简单,我们直接开始编码。修改activity_main.xml文件的代码。 布局代码非常简单,就是两个控件。接下来修改MainActivity的代码。packagecom.itcast.test0430; importandroid.graphics.Color; impor
#Temptation
·
2019-04-30 00:00
Android进阶
系列:八、自定义View之音频抖动动效
自定义动画效果——音频抖动效果绘制一个矩形:想要绘制一个矩形,继承View,并重写onDraw方法即可。复杂一点还可以重写onMeasure方法和onLayout方法进行大小测量和位置测量。但本文不打算写那么复杂的view,故只需要重写一个onDraw方法即可:privateRectFrectF=newRectF();//绘制矩形privatefloatlineWidth=50;privatePa
Android_SE
·
2019-04-27 20:44
Android
高级开发
自定义View
自定义动画
Android进阶
:七、Retrofit2.0原理解析之最简流程【上】
retrofit已经流行很久了,它是Square开源的一款优秀的网络框架,这个框架对okhttp进行了封装,让我们使用okhttp做网路请求更加简单。但是光学会使用只是让我们多了一个技能,学习其源码才能让我们更好的成长。本篇文章是在分析retrofit的源码流程,有大量的代码,读者最好把源码下载下来导入IDE,然后跟着一起看,效果会更好(源码获取方式查看主页获取)一.retrofit入门定义网络请
Android_SE
·
2019-04-26 15:39
Android
高级开发
Retrofit
Android进阶
性能调优;不可思议的OOM
前言;本文发现了一类OOM(OutOfMemoryError),这类OOM的特点是崩溃时java堆内存和设备物理内存都充足,下文将带你探索并解释这类OOM抛出的原因。文末有demo地址。关键词:OutOfMemoryError,OOM,pthread_createfailede,CouldnotallocateJNIEnv一、引子对于每一个移动开发者,内存是都需要小心使用的资源,而线上出现的OOM
Android飞鱼
·
2019-04-23 17:08
oom
性能调优
Android
收集_
Android进阶
关于PMS链接APK安装流程详解0——前言https://www.jianshu.com/p/4f16421d5c7f插件化、热修复相关链接Android微信Tinker三分钟接入七分钟原理让你成为热修复牛人https://blog.csdn.net/WHB20081815/article/details/71663119Android热更新Tinker+多渠道打包+加固的流程详解https://
冉桓彬
·
2019-04-22 22:51
android中几种定位方式详解
Android进阶
之路系列:https://blog.csdn.net/chzphoenix/column/info/16488前言:android中我们一般使用LocationManager来获取位置信息
Bennu-Cui
·
2019-04-19 17:00
android
Kotlin
Android进阶之路
Android进阶
:Binder机制、AIDL进程通信学习(使用AIDL模拟支付宝支付案例)
Android进阶
:Binder机制、AIDL进程通信学习(使用AIDL模拟支付宝支付案例)目录Binder是什么?
thisfeng
·
2019-04-19 14:33
android
IPC
Android进阶
学习之 EventBus 3.X.X使用总结
AndroidEventBus3.X.X使用总结EventBus简介 EventBus是Android发布/订阅事件总线,可简化Activities、Fragments、Threads、Services等组件间的消息传递。EventBus使用了发布者/订阅者模式,其原理图如下: 优势:可替代Intent、Handler、BroadCast、接口等传统方案;分离了事件的发送者和接受者;避免了复杂
alexlee1986
·
2019-04-12 15:27
Android学习
编程学习
计算机技巧
一位6年老Android面经总结
声明|作者:
android进阶
者地址:https://www.jianshu.com/p/d77...前言准备面试其实已经准备了挺久了,当时打算面试准备了差不多以后,跟公司谈谈涨薪的事情,谈不拢的话,就年后直接找其他的公司
爱编码的coder
·
2019-04-10 00:00
移动应用开发
google
面试技巧
java
android
Android进阶
:自定义视频播放器开发(上)
随着快手,抖音,西瓜视频等视频APP的崛起,视频播放已经成为主流,此时作为Android研发的你,想要提高自己的能力还不知道怎么开发视频播放器怎么行?所以今天就带着大家一起开发一个简易播放器:SmallVideoPlayer需求分析我们观察一个视频播放器,可以看到视频播放器除了正在播放的视频还有很多控件,比如播放按钮,暂停按钮,播放进度条,播放计时器等。这么多控件显然无法播放视频,但是他们都在控制
十年开发
·
2019-04-04 21:47
音视频
开发
Android进阶
,组件化,逆向化资源电子书(持续更新)
Android进阶
解密链接:https://pan.baidu.com/s/1cNMFFDP8zO2IsfbhlcARdQ提取码:6ewn
Android进阶
之光链接:https://pan.baidu.com
inlooker
·
2019-03-22 14:45
Android进阶
(六)Glide解析-加载流程
1引言一直想要阅读Glide源码,但是苦于时间和功力都不够,总是断断续续的,趁着现在有一些空暇时间,来简要分析Glide的源码。Glide的实现太过复杂,不可能做到面面俱到,如果每一行都细致分析,很容易陷入作者的优化细节中去而偏离主线,因此只针对几个主要功能做解析即可。以下分析全部基于Glidev4.9.0。2初始化Glide最常见的用法就是如下一行代码:Glide.with(context).l
Kinsomy
·
2019-03-14 15:49
Android
Android进阶
(五)DataBinding解析
1概述在上篇文章
Android进阶
(四)LiveData解析中讲到了关于JetPack框架的LiveData解析,这是一个基于ViewModel和观察者模式的实践。
Kinsomy
·
2019-03-14 15:02
Android
源码
Android
Android进阶
——自定义View之WindowManager概述及利用WindowManager实现悬浮所有界面之上的悬浮窗Floating View(一)
引言悬浮窗相信大家都不陌生,比如各种手机管理软件上的加速球,视频应用的小窗,可以以很少的空间换来较高的用户体验。记得我最初接触到悬浮窗就是流氓卫士的加速球,反编译后发现里面有个FloatingView的东西,初学的时候还以为是系统自带的控件,后来才知道本质上就是利用WindowManager.addView实现的,一定程度上来说实现并不难,复杂之处在于适配各种ROM获取悬浮窗权限。一、Window
CrazyMo_
·
2019-03-12 10:45
Android
进阶
Android自定义View
Android进阶
(四)LiveData解析
1概述LiveData是一个可被观察的数据持有类,一般的数据类不同,LiveData是生命周期感知的,数据类的生命周期可以和其他app组件的生命周期保持一致,例如Activity,fragment和service。这保证了LiveData仅仅会更新处在活动状态的组件。LiveData可以被看成观察者模式的实践,LiveData是一个被观察的对象,其他组件会订阅对它的观察,当组件处于Started或
Kinsomy
·
2019-02-26 09:21
Android
Android进阶
(三)ButterKnife源码解析
1概述ButterKnife是Android用于视图绑定的依赖注入框架,用注解来生成模板代码。通过分析ButterKnife源码可以加深对注解使用以及依赖注入概念的理解。2ButterKnife使用2.1引入依赖在Project的build.gradle文件中添加依赖:dependencies{implementation'com.jakewharton:butterknife:10.1.0'an
Kinsomy
·
2019-02-26 09:47
Android
Android进阶
(二)View的测量、布局、绘制流程
1引言在上一篇文章
Android进阶
(一)View体系中,分析了Android源码关于activity启动创建view的过程,在WindowManagerGlobal的addView方法里面调用了ViewRootImpl
Kinsomy
·
2019-02-26 09:12
Android
Android进阶
(一)View体系
1坐标系Android系统里面有两种坐标系:Android坐标系、View坐标系。1.1Android坐标系Android的坐标系是以手机上可见的屏幕左上角顶点为坐标系原点,但是xy轴的方向和我们以前知道的有所不同,需要注意,从原点向右为x轴正方向,而从原点向下为y轴正方向。android.view.MotionEvent下面有两个方法getRawX()和getRawY()可以获得当前触
Kinsomy
·
2019-02-26 09:39
Android
通俗易懂的Gradle插件讲解
在
Android进阶
三部曲第二部《
Android进阶
解密》一书中,我为了讲解插件化的原理,讲解了什么是插件,我们先来看看下面这张图。
Android小安
·
2019-02-19 15:49
android 面试准备内容
文章目录一、基础复习二、进阶篇三、JD整理AI相关:一、基础复习android基础二、进阶篇
android进阶
三、JD整理framwork模块(AMS/PMS/WMS/ART)有基本理解精通oc或kotlin
Mr Cui
·
2019-02-15 10:54
android
面试专题
[视频笔记] -
Android进阶
之旅-系统架构
1.面向对象六大基本原则-网络引擎切换2.AOP面向切面编程-淘宝京东网络处理AOP:使用AspectJ,在指定位置生成特定的代码,减少工作量,美化工程。AOP思想:把通用的部分代码统一管理,动态代理,aspecJ等等3.UML建模-View的Touch事件分发流程4.基础知识扫描-反射注解类型5.编译时注解-ButterKnife源码分析和手写ButterKnife:使用apt生成代码,使用到一
New_X
·
2019-02-11 10:39
Android进阶
RecyclerView自定义分割线的使用
RecyclerView控件的特点:从整体上看,RecyclerView架构提供了一种插拔式的体验,它具有高度的解耦、异常的灵活性和更高的效率,通过设置它提供的不同LayoutManager、ItemDecoration、ItemAnimator可实现更加丰富的效果,但是RecyclerView也有缺点:设置列表的分割线时需要自定义,另外列表的点击事件需要自己实现。添加依赖:implementat
一醉南柯
·
2019-02-04 17:01
Android
Native
进阶
Android进阶
——阿里Android开发手册学习笔记(一)
引言阿里巴巴不仅仅是只关注你的钱包,也在给程序的开发世界贡献着自己的力量,为你们的代码质量操碎了心,推出了众多技术文档,抱着让自己的代码更规范的心态,下载被阅读了阿里巴巴Android开发手册v1.0.1,由于不便阅读和快速定位,决定摘抄重排版到博客上,在原文档的基础上使当地增加一些所谓的解读和理解,你也可以直接去找原版的来读,直接略过这笔记。一、Android资源文件命名与使用应用的资源文件需带
CrazyMo_
·
2019-01-30 15:13
Android
入门
Android进阶
解密-第2章Android系统启动
虽然第2章Android系统启动看得比较晕,但还是想把一些总结性的内容做个笔记,加深自己对Android系统启动的理解。1.init进程启动过程:init进程启动做了很多的工作,总的来说主要做了以下三件事:a.创建和挂载启动所需的文件目录。b.初始化和启动属性服务。c.解析init.rc配置文件并启动Zygote进程。2.Zygote进程启动过程:DVM(Dalvik虚拟机)和ART、应用程序进程
嗨摔得漂亮
·
2019-01-29 17:51
Android进阶解密
Android系统启动
Android 面试总结
本文参考
Android进阶
之光Android开发艺术探索动脑学院VIP课程JAVA基础Java基本数据类型Java语言提供了8种基本数据类型。六种数字类型(四个整数型(默认是int型),两个浮点型
MS_CAOXU
·
2019-01-27 17:31
Android进阶
知识树——ContentProvider使用和工作过程详解
前言数据库是Android开发中最基本的数据保存方式,但由于数据库的私有性,我们无法对外提供或获取信息,当两个应用需要实现数据共享时,此时就需要本篇文章的主题——ContentProvider1、Uri基础在使用ContentProvider之前,先介绍下Uri基础,Uri的对于开发者来说应该并不陌生,开发中使用Uri之处有很多,如:AppLink、FileProvider等,他们的作用相同都是定
Alex@W
·
2019-01-27 10:12
Android高级进阶之旅
Android进阶
知识树——RemoteViews详解
1、初识RemoteViews在我们平时的开发中,使用RemoteViews的机会并不是很对,可能多数还是在自定义通知界面时,但RemoteViews凭借可以跨进程更新的特点,可以帮助我们实现不同的产品效果,Android中官方的使用就是通知和桌面小部件,今天就一起来看看它是如和使用和如何跨进程传输的;简介1.1、控制限制对于小工具可用的唯一手势触摸垂直滑动1.2、支持布局RemoteViews虽
Alex@W
·
2019-01-23 14:40
Android高级进阶之旅
[Android笔记] 热修复原理笔记
学习资料:《
Android进阶
解密》常见的热修复框架有阿里的AndFix、Dexposed、阿里百川和Sophix,腾讯的微信Tinker、QQ空间的超级补丁和手Q的QFix,其他知名大厂的有美团的Robust
Zach_C
·
2019-01-19 19:17
【我的
Android进阶
之旅】SQLite出错时候的错误码整理
一、背景今天收到一个线上问题,用户发送消息一直失败,然后拉取日志查询之后发现是sqlite保存出错了,错误信息如下所示:[E][2018-12-24+8.014:56:28.729][21394,1737][:][OrmLiteDao.java,insert,125][net.sqlcipher.database.SQLiteDiskIOException:errorcode10:diskI/Oe
欧阳鹏
·
2018-12-24 16:56
Android应用开发
我的Android进阶之旅
Android进阶
知识树——View、ViewGroup事件分发机制详解
对于Android开发者来说,自定义View是必须攻克的一关,也是从初级工程师迈向高级的进阶关卡,要想通过此阶段,除了必须掌握View的测量、绘制、滑动等基础知识外,更要掌握View的核心知识点:View的事件分发,本篇就一起从源码的角度分析View和ViewGroup的事件分发机制;1、View的事件分发在我们平时的使用或写自定义View时,都会直接或间接的使用View的事件分发,View的事件
Alex@W
·
2018-12-19 21:37
Android高级进阶之旅
Kotlin 小册上线 | 赠送六本小册
Android进阶
:基于Kotlin的AndroidApp开发实践沈哲著6小时·31小节快速上手Kotlin独有新特性,整合Android常用框架及MVVM思想进行App开发小册介绍自从Kotlin成为
Java与Android技术栈
·
2018-12-18 21:57
android进阶
4step1:Android拓展——volatile 关键字
volatile关键字1.volatile的作用?在Java内存中,有主memory和每个线程各自的memory。为了提高性能,线程访问的都是其所在memory中变量的副本。这样就会容易造成在某一个时刻,同一个变量在其memory和主memory,或者其他memory中变量值不一致的现象。volatile正是为了解决这个问题,用volatile声明的变量,使用时都会从主memory中取值,保证了线
发条鱼
·
2018-12-10 20:08
Android进阶
知识树——Android 多进程、Binder 你必须知道的一切
1、概述想当初在第一次拜读《Android艺术开发探索》时,深感真的是一本很“艺术”的书(因为当初菜的看不懂…),随着自己的成长和多次阅读,从开始的完全不懂到现在的有所理解、使用和总结,才体会到其中探索的奥妙,现在跟着安卓高级开发的学习路线,进一步学习、总结和梳理知识。多进程作为Android开发者迈向高级开发者的第一关,也使许多初级开发者望而却步,这也是每个开发者必经阶段,正好笔者在公司的开发项
Alex@W
·
2018-12-08 23:57
Android高级进阶之旅
Android进阶
(三):Application启动过程(最详细&最简单)
1.前言最近一直在看《
Android进阶
解密》的一本书,这本书编写逻辑、流程都非常好,而且很容易看懂,非常推荐大家去看看(没有收广告费,单纯觉得作者写的很好)。
Linhaojian
·
2018-12-06 13:42
android进阶
-service 转自官方(工具翻译)
在API级别1中添加服务publicabstractclassServiceextendsContextWrapperimplementsComponentCallbacks2java.lang.Object继承↳android.content.Context↳android.content.ContextWrapper↳android.app.Service已知的直接子类AbstractInpu
harold7i7
·
2018-12-01 21:28
Android自定义View之基础知识
参考资料:博客:http://www.gcssloop.com/customview/CustomViewIndex/书籍:
Android进阶
之光一、自定义View之坐标系1、Andro
乔布奇
·
2018-11-28 14:33
Android自定义View
探讨8.0版本下后台service存活机制及保活
Android进阶
之路系列:https://blog.csdn.net/chzphoenix/column/info/16488前段时间时间对targetsdkversion进行升级,结果发现了一个问题
Bennu-Cui
·
2018-11-20 17:56
android
Android进阶之路
Android进阶
: 10分钟实现NDK-JNI 开发教程
项目简介JNI:JavaNativeInterface(Java本地编程接口),一套编程规范,它提供了若干的API实现了Java和其他语言的通信(主要是C/C++)。Java可以通过JNI调用本地的C/C++代码,本地的C/C++代码也可以调用java代码。Java通过C/C++使用本地的代码的一个关键性原因在于C/C++代码的高效性。NDK:NativeDevelopmentKit(本地开发工具
雨落文染丶
·
2018-11-15 17:43
Android进阶
: 10分钟实现NDK-JNI 开发教程
项目简介JNI:JavaNativeInterface(Java本地编程接口),一套编程规范,它提供了若干的API实现了Java和其他语言的通信(主要是C/C++)。Java可以通过JNI调用本地的C/C++代码,本地的C/C++代码也可以调用java代码。Java通过C/C++使用本地的代码的一个关键性原因在于C/C++代码的高效性。NDK:NativeDevelopmentKit(本地开发工具
百善孝为先
·
2018-11-15 00:00
jni
ndk
android进阶
大纲
来源链接https://www.jianshu.com/p/88e32ef66ef2Java基础学习资源统计资源JavaObject类方法toString()返回该对象的字符串表达式equals(Obejctobj)判断某个对象是否与此对象“相当”finalize当垃圾回收器确定不存在该对象的更多引用时,由对象的垃圾回收器调用此方法。HashMap原理,Hash冲突,并发集合,线程安全集合及实现原
云木杉
·
2018-11-14 17:54
Android进阶
:步骤四:Viewpager的基本使用
借鉴:https://blog.csdn.net/weixin_39251617/article/details/79399592大致内容:ViewPager实践的三种效果1.引导界面ViewPager2.FragmentPageAdapter3.常见Tab切换效果一、简介Viewpager,视图翻页工具,提供了多页面切换的效果。Android3.0后引入的一个UI控件,位于v4包中。低版本使用需
发条鱼
·
2018-11-12 14:36
2-android进阶
Android进阶
设计 | 使用揭露动画(Reveal Effect)做一个丝滑的Activity转场动画
提笔之际(附总体思路)最近跟几个小伙伴在实践一个项目,考虑到界面效果,我们决定使用揭露动画作为Activity的转场动画。这里主要是我负责这部分的实现。话说之前是没接触过的,关于具体的实现跟大体的思路都不太清楚。于是最先啃官方API,有点难看懂,然后下载了官方的demo,直接看代码,还是有问题,毕竟它规模略大,集成了好多动画效果;接着就找了很多博文,发现网上真的水文忒多了哎。。最后找到了这三篇,算
凌川江雪
·
2018-11-12 03:19
【我的
Android进阶
之旅】Linux下学习.gradle目录组织结构以及修改Gradle缓存文件夹路径
一、背景描述上一篇文章【Jenkins学习】解决Jenkins节点断开不可用,报错:Diskspaceistoolow.Only0.803GBlefton/tmp.里面说了,因为/根目录磁盘空间不足导致Jenkins编译节点服务器不可用。查看下/根目录下面有哪些占用磁盘比较大的内容,如下所示:[root@localhost/]#du-h--max-depth=1/4.0K/mnt7.7M/bin0
欧阳鹏
·
2018-11-07 19:23
Android应用开发
我的Android进阶之旅
插件化-插件APK的解析
本文所谈的实现引用自:VirtualApk:https://github.com/didi/VirtualAPK另外欢迎关注我的
Android进阶
计划:https://github.com/SusionSuc
susion哒哒
·
2018-11-07 14:43
Android进阶
三部曲第二部《
Android进阶
解密》已出版
Android进阶
三部曲第一部《
Android进阶
之光》介绍:点击这里本书源码地址:https://github.com/henrymorgen/android-advanced-decode为什么写这本书
刘望舒
·
2018-10-23 10:54
上一页
21
22
23
24
25
26
27
28
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他