- 博客(11)
- 收藏
- 关注
原创 一线大厂的面试经历
先说说我是如何展开面试复习的,主要是按照以下的四大类展开的:1.安卓基础知识 2.JAVA基础知识 3.算法和数据结构 4.职业发展规划相关问题First: 1.Activity 任务栈和 4 种启动模式关联性问题 2.IPC 非常重要,想要达到中级和高级的水平就必须要读懂,跨进程几种方式必须了解 Binder肯定是必问的,当然还有 AIDL...
2019-06-18 20:24:33 810
原创 快排的简介
一、基本背景:计算机领域的爵士——托尼·霍尔于1960年发布了使他闻名于世的快速排序,这个算法也是当今世界上使用最广泛的算法之一。它采用了一种分治的策略,通常称其为分治法。二、主要思想:1.先从数组中取出一个数作为基准数。2.分区操作,比这个数大的放在它的右边,小于等于这个数的放在它的左边。3.对左右区间重复第二步操作,直到各区间只有一个数。三、核心代码:1. 将基...
2019-01-15 19:11:27 406
转载 Android高级工程师的进阶之路
阅读源码的方法:毋庸置疑使用Android studio阅读完整项目,高效。阅读完整项目涉及的东西比较多,项目的架构不同,使用的第三方库不同,这就要求需要对项目中不熟悉的东西进行学习,也不需要都弄懂了再去看项目,边看边学,遇到不会的就去搜资料学习,这样最快了。第一步下载项目,在真机或虚拟机上运行,最直观的体验app的功能。然后熟悉app的架构,mvc、mvp、mvvm,目前项目中mvvp用...
2019-01-13 19:20:34 577
原创 RxJava的上手过程
1.Observable.subscribe(Subscriber) 的内部实现是这样的(仅核心代码):public Subscription subscribe(Subscriber subscriber) { subscriber.onStart(); onSubscribe.call(subscriber); return subscribe
2017-03-14 18:04:46 322
原创 Dagger2的学习过程
1.最近接触一个MVP的项目,涉及到Dagger2的使用。一开始拿到项目代码的时候,大脑一片空白!之前没有接触过Dagger,没办法硬着头皮看了一篇有关Dagger2的简单入门博客。2.直接进入主题:Dagger2涉及到三个要素,Module、Component、Container3.今天的学习心得:Dagger2的注入规则,用@Inject注释的成员变量的依赖会首先从Module的@Pr
2017-03-08 17:26:47 462
原创 Random的简单用法
Random类 (java.util) Random类中实现的随机算法是伪随机,也就是有规则的随机。在进行随机时,随机算法的起源数字称为种子数(seed),在种子数的基础上进行一定的变换,从而产生需要的随机数字。相同种子数的Random对象,相同次数生成的随机数字是完全相同的。也就是说,两个种子数相同的Random对象,第一次生成的随机数字完全相同,第二次生成的随机
2017-03-08 14:07:03 6308
原创 Java中回调的简单理解
所谓的回调函数就是:在A类中定义了一个方法,这个方法中用到了一个接口和该接口中的抽象方法,但是抽象方法没有具体的实现,需要B类去实现,B类实现该方法后,它本身不会去调用该方法,而是传递给A类,供A类去调用,这种机制就称为回调。简单的总结一下,涉及到三个要素:一个接口、该接口中的抽象方法、实现了接口中抽象方法的普通方法。
2017-03-02 20:02:24 343
原创 get和post请求的区别
1.GET请求,服务器以及参数都会出现在请求接口中,也就是请求参数也是接口的一部分,而POST请求在接口中只有服务器地址,而参数会作为请求提交给服务器。2.因为GET请求会出现在请求接口中,所以信息容易被捕获,安全性低,POST请求参数封装在请求体中,作为二进制流进行传输,不易被捕获,安全性高。3.GET在请求时,接口的字节数有限制,支持小数据的提交,而POST请求从理论上来讲没有
2017-03-01 15:05:29 511
原创 一个简单的cmd命令
最近接触一个TV端的项目,所以需要使用夜神模拟器。但是发现使用Android Studio调试的时候,经常掉线!解决的方法:cmd中输入一个简单的命令即可! adb.exe connect 127.0.0.1:62001 然后as就自动匹配了夜神
2017-02-28 13:33:43 842
转载 Handler的post方法创建的线程和UI线程有什么关系?
有时候为了方便,我们会直接写如下代码:mHandler.post(new Runnable() { @Override public void run() { Log.e("TAG", Thread.currentThread().g
2017-02-16 15:09:33 478
原创 Android打包实践
多渠道打包的一个简单案例:假如我们有xiaomi、baidu、wangdoujia三个渠道,可以这样写:1. AndroidManifest.xml 里设置动态渠道变量<meta-data android:name="UMENG_CHANNEL" android:value="${UMENG_CHANNEL_VALUE}" /> 2. 在 buil...
2017-02-15 15:30:47 286
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人