自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 收藏
  • 关注

原创 Android消息推送认知

前言最近研究Android推送的实现, 研究了两天一夜, 有了一点收获, 写下来既为了分享, 也为了吐槽. 需要说明的是有些东西偏底层硬件和通信行业, 我对这些一窍不通, 只能说说自己的理解.为什么要研究Android推送技术? 主要还是毕业设计要做一个即时通信app, 我是不喜欢做什么社交app的, 也就象牙塔里的人想得出来, 说实话有这功夫还不如钻研一个小技术点, 把一个点研究

2017-09-29 15:07:03 455

转载 Activity生命周期总结

Activity 是一个应用组件,用户可与其提供的屏幕进行交互,以执行拨打电话、拍摄照片、发送电子邮件或查看地图等操作。每个 Activity 都会获得一个用于绘制其用户界面的窗口。窗口通常会充满屏幕,但也可小于屏幕并浮动在其他窗口之上。 一个应用通常由多个彼此松散联系的 Activity 组成。一般会指定应用中的某个 Activity 为“主” Activity,即首次启动应用时

2017-09-28 17:59:52 396

转载 ButterKnife:Attribute value must be constant

Attribute value must be constant在搜索Attribute value must be constant后得到这样的说明:Injection does not work in library projects意为:在AndroidStudio的library的module中无法使用ButterKnife。——–2017年8月23

2017-09-14 14:55:10 1437

转载 并发 并行 同步 异步 多线程的区别

1. 并发:在操作系统中,是指一个时间段中有几个程序都处于已启动运行到运行完毕之间,且这几个程序都是在同一个处理机上运行。其中两种并发关系分别是同步和互斥2. 互斥:进程间相互排斥的使用临界资源的现象,就叫互斥。3. 同步:进程之间的关系不是相互排斥临界资源的关系,而是相互依赖的关系。进一步的说明:就是前一个进程的输出作为后一个进程的输入,当第一个进程没有输出时第二个进程必须等待。具有同步

2017-09-12 17:13:54 231

转载 Android 热修复Tinker 在项目中的使用

热修复技术出来也已经有好长一段时间了,目前比较主流的热修复方案主要有一下几种:QQ团队基于android dex分包方案提出的热修复方案,代表:Nuwa , HotfixAlibaba 提出的热修复方案,代表:AndFix(目前使用最多,兼容问题较严重)Tecent 提出的热修复方案 代表: tinker (目前性能最优,兼容最好)123123blog 上很多大神都对热修复技术做出

2017-09-01 11:39:09 395

原创 build.gradle详细配置分析

app的bulid.gradle文件配置详情apply plugin: 'com.android.application'//说明module的类型,com.android.application为程序,com.android.library为库android { compileSdkVersion 22//编译的SDK版本 buildToolsVersion "22.0.1"/

2017-08-30 16:13:11 359

转载 热修复系列之一----Android 热修复原理篇及几大方案比较

热修复说白了就是”即时无感打补丁”,比如你们公司上线一个app,用户反应有重大bug,需要紧急修复。2015年以来,Android开发领域里对热修复技术的讨论和分享越来越多,同时也出现了一些不同的解决方案.如果按照通常做法,那就是程序猿加班搞定bug,然后测试,重新打包并发布。这样带来的问题就是成本高,效率低。于是,热修复就应运而生.一般通过事先设定的接口从网上下载无Bug的代码来替换有Bug的代

2017-08-30 10:04:36 1911

原创 外接设备连接电脑万能驱动安装

有时候当我们调试外界设备的时候,通过驱动机灵安装了驱动但是总是不能调试,通过adb devices命令一查看原来手机并没有连上针对这种情况我适用了各种办法,最后研究了一种万能设配的方法万能驱动安装办法如果你通过驱动精灵安装过识别不了的驱动,你先的卸载这个驱动(这个很重要)。然后通过下面方法安装1.通过查看sdk中是否有usb_driver文件夹查看办法  sdk/ext

2017-08-28 15:45:00 2001

转载 屏幕适配最全方案

1. 写在前面本人项目使用的如下适配方式,已经迭代了几个版本,从开始的各种适配问题,到现在很少有人反馈手机适配问题,自己也在4-5个真机测试没什么问题。这种适配方式的理论支持我最开始是跟着鸿洋大神 一步步操着的,所以对于理论有什么不了解的先看他的文章,我这直接说步骤以及其中的问题。这种适配方式的优缺点也很明显,优点不用说适配很成功,从开始的大部分手机到现在一步步完善,我几乎没有收到

2017-08-28 14:01:38 650

原创 垃圾收集器

先放张大图上面我做的一个简单流程图,下面来说下原理HotSpot JVM收集器              上面有7中收集器,分为两块,上面为新生代收集器,下面是老年代收集器。如果两个收集器之间存在连线,就说明它们可以搭配使用。Serial(串行GC)收集器Serial收集器是一个新生代收集器,单线程执行,使用复

2017-08-24 14:00:09 204

转载 HotSpot虚拟机对象探秘

请读者首先注意本篇的题目中的限定语“HotSpot虚拟机”,在虚拟机规范中明确写道:“所有在虚拟机规范之中没有明确描述的实现细节,都不应成为虚拟机设计者发挥创造性的牵绊,设计者可以完全自主决定所有规范中不曾描述的虚拟机内部细节,例如:运行时数据区的内存如何布局、选用哪种垃圾收集的算法等”。因此,本篇(整个内存篇中所有的文章)的内容会涉及到虚拟机“自主决定”的实现,我们的讨论将在HotSpot VM

2017-08-22 13:33:46 326

转载 JVM运行时数据区域及GC

JVM在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域。这些区域都有各自的用途、创建和销毁的时间。本文以Sun公司HotSpot虚拟机为例进行说明,JRockit和IBM J9会有所不同。HotSpot运行时数据区分为堆和栈两种类型,堆空间为线程共享,栈空间为线程私有。堆空间又分为方法区和堆,栈细分为虚拟机栈、本地方法栈和程序计数器,但HotSpot栈的实现将本地方法栈中

2017-08-22 13:20:51 409

转载 Retrofit2 初探:入门及其使用 完全解析

前言相信大家对Retrofit一定不陌生,或多或少都听过它的名字,它是一个最近很流行也很好用的网络请求库,它对okHttp进行了封装,加上利用了Java注解等特性,使得它能适应于灵活多变的网络请求情景。那么接下来我们一起学习怎样使用Retrofit2。官网及相关文件在正式使用Retrofit2之前,我们要先准备好相应的文件:Retrofit2 GitHub地址Retrofit2

2017-08-21 17:35:57 373

转载 Android Butterknife 8.4.0 使用方法总结

前言ButterKnife 简介ButterKnife是一个专注于Android系统的View注入框架,可以减少大量的findViewById以及setOnClickListener代码,可视化一键生成。项目github地址:https://github.com/JakeWharton/butterknifeButterKnife

2017-08-21 16:07:00 274

转载 插件化系列开发之九--Android 全面插件化 RePlugin 流程与源码解析

RePlugin,360开源的全面插件化框架,按照官网说的,其目的是“尽可能多的让模块变成插件”,并在很稳定的前提下,尽可能像开发普通App那样灵活。那么下面就让我们一起深入♂了解它吧。 (ps :阅读本文请多参考源码图片 ( ̄^ ̄)ゞ )一、介绍  RePlugin对比其他插件化,它的强大和特色,在于它只Hook住了ClassLoader。One Hook这个坚持,最大程度保证了稳定性、

2017-08-17 13:51:33 773

转载 插件化系列开发之八--replugin源码解析之replugin-plugin-gradle(插件的gradle插件)

前言replugin-plugin-gradle 是 RePlugin 插件框架中提供给replugin插件用的gradle插件,是一种动态编译方案实现。主要在插件应用的编译期,基于Transform api 注入到编译流程中, 再通过Java字节码类库对编译中间环节的 Java 字节码文件进行修改,以便实现编译期动态修改插件应用的目的。RePlugin 是一套完整的、稳定的、适合

2017-08-17 13:49:31 1558

转载 插件化系列开发之七--replugin源码解析之replugin-host-gradle(宿主的gradle插件)

前言replugin-host-gradle 是 RePlugin 插件框架中的宿主gradle插件,主要用于在宿主应用的编译期常规构建任务流中,插入一些定制化的构建任务,以便实现自动化编译期修改宿主应用的目的。RePlugin 是一套完整的、稳定的、适合全面使用的,占坑类插件化方案,由360手机卫士的RePlugin Team研发,也是业内首个提出”全面插件化“(全面特性、全面兼容、

2017-08-17 13:46:13 610

转载 插件化开发系列之三---Android插件化从入门到放弃-最强合集

本文转自:Android博客周刊专题之#插件化开发#原文作者:陆镇生_Jomeslu本人最近研究插件化, 偶然发现此合集, 按照部分链接的文章实际简单写了些demo,受益良多, 觉得确实不错,特转载过来,给需要的人。插件化涉及的东西很多,所以我们需要多个维度去学习。大概分为5个部分:预备知识、入门、进阶、系列、类库。一步一步深入了解插件的原理。基础1.Java 类加载器

2017-08-16 16:06:53 1740

转载 插件化开发系列之二—动态加载技术加载已安装和未安装的apk

首先引入一个概念,动态加载技术是什么?为什么要引入动态加载?它有什么好处呢?首先要明白这几个问题,我们先从应用程序入手,大家都知道在Android App中,一个应用程序dex文件的方法数最大不能超过65536个,否则,你的app将出异常了,那么如果越大的项目那肯定超过了,像美团、支付宝等都是使用动态加载技术,支付宝在去年的一个技术分享类会议上就推崇让应用程序插件化,而美团

2017-08-16 15:52:10 436

原创 插件化开发系列之一---原理分析

预备知识:        一. Java ClassLoader        作用:    加载Class文件到JVM,以供程序使用的。我们知道,Java程序可以动态加载类定义,而这个动态加载的机制就是通过ClassLoader来实现的。既然ClassLoader是用来加载类到JVM中的,那么ClassLoader又是如何被加载呢?难道它不是java的类?没有错,在这里确

2017-08-16 10:58:13 882

转载 沉浸式状态栏

背景在Toolbar刚出来不久,我就准备尝鲜并准备在薄荷Android版把ActionBar全部替换到Toolbar。至于Toolbar的优势以及它的使用方法我这里就不一一介绍了,网上一大堆。这里经过评估发现Toolbar的适配有以下几个难点:遵循各版本的Android设计我们的App一向是尽量遵循Android的设计,比如顶部的导航栏,我们知道在4.4版本之前Android是不可

2017-08-15 15:27:56 178

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除