- 博客(72)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 rx+retrofit 学习笔记
1. rx+retrofit+mvp,网络请求时如何解决Activity内存泄漏和取消回调?不需要使用RxActivity使用WeakReference,最好用WeakReference,能取消掉回调里面的代码执行,判断弱引用是否为空2. rx+retrofit,非mvp模式,需要采用static的方法解决内存泄漏3. rx+retrofit网络请求,使用bin
2017-03-17 11:08:38
606
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 安卓rxJava与retrofit配置示例
结合当前比较火的mvp开发模式,在AndroidStudio上使用rxJava与retrofit。rxJava(异步),retrofit(网络请求)1.gradle添加依赖 compile 'com.google.code.gson:gson:2.4' compile 'io.reactivex:rxandroid:1.2.1' compile 'com.squareup.r...
2017-02-20 20:57:02
412
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 RxJava的Subscriber使用,封装加载进度条ProgressSubscriber
最近看了一篇文章刚开始学习RxJava,鉴于边学边用;发现当我在请求网络时老是需要手动显示与关闭LadingDialog,因此我在这里把LadingDialog封装到Subscriber中。
2017-02-17 11:38:48
3192
5
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 Android用ContextCompat替换getResources()获取资源
Android SDKAndroid SDK 升級到 23 之後,getResource.getColor(R.color.color_name) 過時,可以使用新加入的方法 ContextCompat.getColor(context, R.color.color_name) 。
2017-02-17 10:03:40
6094
转载 Android布局中的空格以及占一个汉字宽度的空格的实现
在Android布局中进行使用到空格,以便实现文字的对齐。那么在Android中如何表示一个空格呢?空格: 窄空格: 一个汉字宽度的空格:   【用两个空格(  )占一个汉字的宽度时,两个空格比一个汉字略窄,三个空格(  &a...
2018-12-04 15:35:33
1103
1
原创 Android Interview 2018(综合四)
面试中遇到的一些问题Q1:ListView和RecyclerView的使用,就问我它们有什么区别?Q2:既然RecyclerView在很多方面能取代ListView,Google为什么没把ListView划上一条过时的横线?Q3:你用过MVP,那你知道Dagger2吧,介绍下吧?Q4:HashMap的内部实现原理?Q5:Activity生命周期,有哪些启动模式,以及应用场景?...
2018-11-19 15:03:36
168
转载 关于AIDL使用和Binder机制详解,你只需要看这一篇即可
本篇文章从AIDL的角度来阐述Binder机制调用远程服务的内部运行原理。因此本篇文章的第一部分介绍AIDL的使用,第二部分从AIDL的使用上具体介绍Binder机制。关于Binder机制的原理,可以参考简单理解Binder机制的原理,对其有个大概的了解。一、AIDL的使用1.AIDL的简介AIDL (Android Interface Definition Language) 是...
2018-08-31 14:25:56
1544
转载 简单理解Binder机制的原理
一、概述Android系统中,涉及到多进程间的通信底层都是依赖于Binder IPC机制。例如当进程A中的Activity要向进程B中的Service通信,这便需要依赖于Binder IPC。不仅于此,整个Android系统架构中,大量采用了Binder机制作为IPC(进程间通信)方案。当然也存在部分其他的IPC方式,如管道、SystemV、Socket等。那么Android为什么不使用这...
2018-08-31 14:23:54
238
转载 排序算法总结
排序算法 平均时间复杂度 冒泡排序 O(n2) 选择排序 O(n2) 插入排序 O(n2) 希尔排序 O(n1.5) 快速排序 O(N*logN) 归并排序 O(N*logN) 堆排序 O(N*logN) 基数排序 O(d(n+r)) 一. 冒泡排序(BubbleSort) 基本思想:两个数比较大小,较...
2018-08-31 14:23:08
153
转载 如何将AAR上传到gitHub,自定义远程依赖仓库
这篇博客记录了如何将Android lib 项目打包的AAR ,jar 等文件直接上传到gitHub , 可以像使用其他人开发的库一样,自己也开发lib工具包供全世界的攻城狮使用。 1.首先在gitHub上创建一个新的项目,用来存放aar 和配置文件 2.将该项目clone到本地,指定到一个新的目录里。比如:/Users/keller/NeverSettle/project...
2018-08-29 15:14:32
1222
3
转载 Android Interview 2018(综合三)
1、Activity生命周期?onCreate() -> onStart() -> onResume() -> onPause() -> onStop() -> onDetroy() 2、Service生命周期?service 启动方式有两种,一种是通过startService()方式进行启动,另一种是通过bindService()方式进行启动。...
2018-08-14 10:05:07
194
转载 Android Interview 2018(综合二)
面试题整理,没有重点。包括java基础,数据结构,网络,Android相关等等。适合中高级工程师。由于内容过多,将会分为上下两部分。希望能够帮到一些朋友,如果帮助到你,希望能够点个赞。没有单独分出来,面试题目都是穿插的。因为有些事外面试过程中遇到的,我就又加上去了。总之你弄懂了这些,基本是没有问题了。如果是bat那些企业,你还得准备算法,jvm这些知识。好了,废话不多说了。 1、java中...
2018-08-14 10:02:08
155
转载 Android Interview 2018(综合一)
Android知识图谱。 面试,无非都是问上面这些问题(挺多的 - -!),聘请中高级的安卓开发会往深的去问,并且会问一延伸二。以下我先提出几点重点,是面试官基本必问的问题,请一定要去了解!基础知识 – 四大组件(生命周期,使用场景,如何启动) java基础 – 数据结构,线程,mvc框架 通信 – 网络连接(HttpClient,HttpUrlConnetion),Socket 数...
2018-08-14 09:55:59
200
转载 Activity启动过程全解析
文/裸奔的凯子哥(简书作者)原文链接:http://www.jianshu.com/p/6037f6fda285著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。前言一个App是怎么启动起来的?App的程序入口到底是哪里?Launcher到底是什么神奇的东西?听说还有个AMS的东西,它是做什么的?Binder是什么?他是如何进行IPC通信的?Activity生命周期到底是什么时候调用的...
2018-04-12 11:24:59
960
转载 Android Studio导入framework.jar等系统jar包方式
从Eclipse 转到Android Studio,必经 的一个过程就是导入第三方jar包,导入普通的jar包方式比较简单,网上其他的例子也比较多,但是关于导入framework.jar包内容就比较少。 有时候开发需要一些依赖framework中隐藏方法的时候,我们可以导入framework.jar, 编译的时候依赖framework, 打包的时候不打进去,这在eclipse中实现方式比较简单,这...
2018-04-11 11:00:51
1113
转载 《Android开发艺术探索》笔记
本笔记整理自: https://www.gitbook.com/book/tom510230/android_ka_fa_yi_shu_tan_suo/details参考文章:http://szysky.com/tags/#笔记 http://blog.csdn.net/player_android/article/category/6577498MD文件下载:https://pan.baidu....
2018-04-11 10:50:16
693
转载 Android:学习AIDL,这一篇文章就够了(下)
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/luoyanglizi/article/details/52029091目录(?)[+]前言上一篇博文介绍了关于AIDL是什么,为什么我们需要AIDL,AIDL的语法以及如何使用AIDL等方面的知识,这一篇博文将顺着上一篇的思路往下走,接着介绍关于AIDL的一些更加深入的知识。强烈建议大家在看这篇博文...
2018-04-08 10:07:41
160
转载 Android:学习AIDL,这一篇文章就够了(上)
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/luoyanglizi/article/details/51980630目录(?)[+]前言在决定用这个标题之前甚是忐忑,主要是担心自己对AIDL的理解不够深入,到时候大家看了之后说——你这是什么玩意儿,就这么点东西就敢说够了?简直是坐井观天不知所谓——那样就很尴尬了。不过又转念一想,我辈年轻人自当有...
2018-04-08 10:02:55
255
转载 Android内存优化大全(中)
OOM:内存泄露可以引发很多的问题:1.程序卡顿,响应速度慢(内存占用高时JVM虚拟机会频繁触发GC)2.莫名消失(当你的程序所占内存越大,它在后台的时候就越可能被干掉。反之内存占用越小,在后台存在的时间就越长)3.直接崩溃(OutOfMemoryError)ANDROID内存面临的问题:1.有限的堆内存,原始只有16M2.内存大小消耗等根据设备,操作系统等级,屏幕尺寸的不同而不同3.程序不能直接...
2018-04-01 15:32:29
158
转载 RecyclerView之ItemDecoration由浅入深
译文的GitHub地址:RecyclerView之ItemDecoration由浅入深译者注:RecyclerView第一篇,希望后面坚持下来RecyclerView没有像之前ListView提供divider属性,而是提供了方法recyclerView.addItemDecoration()其中ItemDecoration需要我们自己去定制重写,一开始可能有人会觉得麻烦不好用,最后你会发现这种...
2018-03-28 18:28:08
278
转载 秒懂,Java 注解 (Annotation)你可以这样学
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/briblue/article/details/73824058目录(?)[+]文章开头先引入一处图片。 这处图片引自老罗的博客。为了避免不必要的麻烦,首先声明我个人比较尊敬老罗的。至于为什么放这张图,自然是为本篇博文服务,接下来我自会说明。好了,可以开始今天的博文了。Annotation 中文译过来...
2018-03-28 10:21:21
255
转载 java移位运算符详解
java移位运算符不外乎就这三种:<<(左移)、>>(带符号右移)和>>>(无符号右移)。 1、 左移运算符左移运算符<<使指定值的所有位都左移规定的次数。1)它的通用格式如下所示:value << numnum 指定要移位值value 移动的位数。左移的规则只记住一点:丢弃最高位(符号位同样丢弃),0补最低位如果移动的位数超过了该...
2018-03-28 10:06:28
251
转载 java泛型详解
1、什么是java泛型?泛型是Java SE 1.5的新特性,泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。这种参数类型可以用在类、接口和方法的创建中,分别称为泛型类、泛型接口、泛型方法。2、为什么需要泛型?Java语言引入泛型的好处是安全简单。可以将运行时错误提前到编译时错误。在Java SE 1.5之前,没有泛型的情况的下,通过对类型Obje
2018-03-23 14:32:56
238
转载 list与Set、Map区别及适用场景
转载请备注出自于:http://blog.csdn.net/qq_22118507/article/details/51576319 list与Set、Map区别及适用场景1、List,Set都是继承自Collection接口,Map则不是2、List特点:元素有放入顺序,元素可重复 ,Set特点:元素无放入顺序,元素不可重复,重复元素会覆盖掉,(注意:元素虽然无放入顺...
2018-03-23 11:30:29
160
转载 java 面向对象三大特性(封装,继承,多态)以及抽象、接口的介绍
转载请备注出自于:http://blog.csdn.net/qq_22118507/article/details/51422591封装:1.定义:隐藏对象的属性和实现细节,仅对外公开接口,控制在程序中属性的读和修改的访问级别。2.封装的目的是:增强安全性和简化编程,使用者不必了解具体的实现细节,而只是要通过外部接口,一特定的访问权限来使用类的成员。3.封装的基本要求是:把所有的属性私有化,对每个...
2018-03-23 11:21:42
146
转载 面试二:Android任务和返回栈
转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/41087993本篇文章主要内容来自于Android Doc,我翻译之后又做了些加工,英文好的朋友也可以直接去读原文。http://developer.android.com/guide/components/tasks-and-back-stack.htm
2017-10-10 15:13:50
276
转载 面试一:Context 的理解
Context到底是什么Context的中文翻译为:语境; 上下文; 背景; 环境,在开发中我们经常说称之为“上下文”,那么这个“上下文”到底是指什么意思呢?在语文中,我们可以理解为语境,在程序中,我们可以理解为当前对象在程序中所处的一个环境,一个与系统交互的过程。比如微信聊天,此时的“环境”是指聊天的界面以及相关的数据请求与传输,Context在加载资源、启动Activity、获取系统服务、
2017-10-10 11:42:34
357
转载 Android 带你彻底理解 Window 和 WindowManager
版权声明:转载请说明出处:http://blog.csdn.net/yhaolpz目录(?)[+]有时候我们需要在桌面上显示一个类似悬浮窗的东西,这种效果就需要用 Window 来实现,Window 是一个抽象类,表示一个窗口,它的具体实现类是 PhoneWindow,实现位于 WindowManagerService 中。相信看到 WindowManagerS
2017-09-22 15:12:08
239
转载 白底黑字!Android浅色状态栏黑色字体模式
其实很多国内三方Android系统都有深色状态栏字体模式,但是目前只看到了小米和魅族公开了各自的实现方法,小米的支持MIUI V6以上版本,魅族的支持Flyme4.0以上版本。代码如下:/** * 设置状态栏图标为深色和魅族特定的文字风格,Flyme4.0以上 * 可以用来判断是否为Flyme用户 * @param window 需要设置的窗口 * @param dark 是否把状态栏
2017-09-21 09:59:06
781
转载 四步准备 Android 面试
找工作的过程就是解决一个相对复杂问题的过程。可以按照以下四部进行准备:定义问题划分问题逐个突破系统化接下来一步步的看一下具体细节。定义问题首先,定义一下我们解决的是什么问题。在这里,因为我们是 Android 方向,所以可以简单定义为:“我们要找到一个 Android 方向的工作(或
2017-09-07 09:15:41
347
转载 Android事件分发机制详解
前言Android事件分发机制是Android开发者必须了解的基础网上有大量关于Android事件分发机制的文章,但存在一些问题:内容不全、思路不清晰、无源码分析、简单问题复杂化等等今天,我将全面总结Android的事件分发机制,我能保证这是市面上的最全面、最清晰、最易懂的本文秉着“结论先行、详细分析在后”的原则,即先让大家感性认识,再通过理性分析从而理解问题;所以,请各位读者
2017-09-06 14:24:46
211
转载 Android 设计模式
简介项目开发中发现问题、解决问题这个过程中会出现很多问题,比如重复出现、某个问题的遗留,这些问题的本质就是设计模式。今天记录设计模式的知识点。内容在Java以及其他的面向对象设计模式中,类与类之间主要有6种关系,他们分别是:依赖、关联、聚合、组合、继承、实现。它们的耦合度依次增强。依赖关系:对于两个相对独立的对象,当一个对象负责构造另一个对象的实例,或者依赖
2017-09-05 09:19:58
455
转载 [Android]内存泄露总结
Java 中的内存分配简介Java 中的内存分配主要是分三块:静态储存区:编译时就分配好,在程序整个运行期间都存在。它主要存放静态数据和常量。栈区:当方法执行时,会在栈区内存中创建方法体内部的局部变量,方法结束后自动释放内存堆区:通常存放 new 出来的对象。由 Java 垃圾回收器回收。栈与堆的区别栈内存用来存放局部变量和函数参数等。它是先进后出的队列,进出一一对应,不产
2017-08-30 17:20:52
666
转载 Socket如何保证长连接
方法1:应用层自己实现的心跳包 由应用程序自己发送心跳包来检测连接是否正常,大致的方法是:服务器在一个 Timer事件中定时 向客户端发送一个短小精悍的数据包,然后启动一个低级别的线程,在该线程中不断检测客户端的回应, 如果在一定时间内没有收到客户端的回应,即认为客户端已经掉线;同样,如果客户端在一定时间内没 有收到服务器的心跳包,则认为连接不可用。方法2:TCP的KeepAlive保
2017-08-30 15:29:33
656
转载 Activity中使用Thread导致的内存泄漏
做 Android 开发最常遇到的问题就是在 Activity 的生命周期中协调耗时任务,避免执行任务导致不易察觉的内存泄漏。不妨先读一读下面的代码,代码写了一个简单的 Activity,Activity 在启动后就会开启一个线程,并循环执行该线程中的任务 /** * 示例向我们展示了在 Activity 的配置改变时(配置改变会导致其下的 Activity 实例被销
2017-08-30 11:37:33
915
转载 HTTPS和HTTP的区别
什么是 HTTPS?HTTPS (基于安全套接字层的超文本传输协议 或者是 HTTP over SSL) 是一个 Netscape 开发的 Web 协议。你也可以说:HTTPS = HTTP + SSLHTTPS 在 HTTP 应用层的基础上使用安全套接字层作为子层。为什么需要 HTTPS ?超文本传输协议 (HTTP) 是一个用来通过互联网传输和接收信息的
2017-08-30 11:22:55
328
转载 Android布局中的空格以及占一个汉字宽度的空格的实现
在Android布局中进行使用到空格,以便实现文字的对齐。那么在android中如何表示一个空格呢?空格: 窄空格: 一个汉字宽度的空格: 【用两个空格( )占一个汉字的宽度时,两个空格比一个汉字略窄,三个空格( )比一个汉字略宽】在实际使用中需要灵活使用
2017-07-03 11:12:02
835
原创 ScrollView嵌套LinearLayout布局不能撑满全屏的问题
当ScrollView里的元素想填满ScrollView时,使用"fill_parent"或者"match_parent"是不管用的,必需为ScrollView设置:Android:fillViewport="true"。 当ScrollView没有fillVeewport=“true”时, 里面的元素(比如LinearLayout)会按照wrap_content来计算(
2017-06-09 09:48:41
302
原创 Android Studio - no debuggable applications 的解决办法
点击Tools 然后Android-->Enable ADB Integration active.然后就OK了
2017-05-23 09:43:28
420
转载 Java中hashCode的作用
以下是关于HashCode的官方文档定义:[plain] view plain copyhashcode方法返回该对象的哈希码值。支持该方法是为哈希表提供一些优点,例如,java.util.Hashtable 提供的哈希表。 hashCode 的常规协定是: 在 Java 应用程序执行期间,在同一对象上多次调用 has
2017-05-10 16:52:53
231
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人