自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 android 65536(0xffff)问题

android在打包的时候会存在一个限制,classes.dex不可以超过65536(0xffff)个方法,如果超过了65536在安装的时候就会报错,无法进行安装Install Run。在早期没有太多开源库的时候,这个问题还不是那么容易碰到,因为我们所自己写程序,要达到这个量级还是很困难的,我们简单的估算一下,一个方法假定平均代码行数为三,要达到上面的限制就要65536*3= 196,608,...

2018-08-26 15:25:17 420

原创 Plugin with id 'com.android.library' not found.

最近在开发library的时候碰到一个问题,添加的apply plugin: 'com.android.library'提示Plugin with id 'com.android.library' not found,造成该问题的原因具体是什么,本人暂时还不知道,只是知道通过在最外层(project)build.gradle添加如下代码就好使了:buildscript { rep...

2018-07-22 13:00:47 23233

原创 Error:Execution failed for task ':app:preDebugAndroidTestBuild'

最近下载了最新的sdk,然后不幸的事情就发生了,所有创建的项目,一编译就会报下面这个错误:Error:Execution failed for task ':app:preDebugAndroidTestBuild'.> Conflict with dependency 'com.android.support:support-annotations' in project ':ap...

2018-07-22 11:51:03 148

原创 Error:Execution failed for task':*****:transformNativeLibsWithStripDebugSymbolForDebug'.

Error:Execution failed for task ':*****:transformNativeLibsWithStripDebugSymbolForDebug'.> A problem occurred starting process 'command '/Users/***/Library/Android/sdk/ndk-bundle/toolchains/mips6...

2018-07-21 23:09:59 550

原创 java synchronized小理解

对于多线程开发,想来大家都不陌生,即使没写过也是听过的,不过这里不对多线程编程做详细的介绍,这里只对synchronized关键字做个简单的介绍。要想学好一个东西,我们首先要思考一下,我们要学到些什么,明确目标后再去看去学,会达到事半功倍的效果。我们学习sychronized,至少要学到以下几点:1. synchronized怎么用?2. synchronized能达到什么效果?3. synchr...

2018-07-02 15:36:36 105

原创 关于Activity的启动方式

之前有读过几篇从源码解析Activity的启动,由于自己并没有仔细看过源码,对于里面的很多判断都没有注意到,后来看Activity的Launchmode的时候,才发现有很多看似不重要的东西被我们忽略了。今天就结合自己的面试经验加博客的浏览,总结一下Activity的启动方式。以下总结是基于api23做的测试。我们在浏览博客的时候,很轻松的就能搜到一堆的关于launchmode的资料,大体上大家介绍...

2018-06-26 12:48:33 195

原创 HashMap的一些小理解

最近看了数据结构与算法,并在网上看了关于Hashmap源码解析的博客,有了一些小感悟,这里对于源码就不再解释说明,想要了解的,可以去看连接中的博客,感觉写的还是不错的,虽然有些观点不太认同。如果大家要去看的话,请带着下面几个问题来看:1. 为什么需要HashMap这种数据结构?2. Hashmap内部的实现是使用的什么数据结构(数组还是链表,亦或者数组加链表)?如果是链表的话,又是使用的什么数据结...

2018-06-17 12:06:10 133

原创 热修复的一些理解

对于热修复这个概念,第一次听到是在苹果制裁腾讯的时候听到的,后来就在很多的ap中都有看到,就看了下热修复相关的博客。从原理来看,主要是利用jvm的ClassLoader加载机制,这里使用的是PathClassLoader及DexClassLoader这两个类来实现热修复的。这两个类都继承自BaseClassLoader,他们的实现差别就在构造函数上的一个参数,而具体的功能实现都放在BaseClas...

2018-06-09 19:19:10 656

原创 Binder机制的一些小感悟

通过图书,博客看了好几篇关于Android Binder机制的介绍,个人感觉写的比较好的是简书sh

2018-06-04 17:01:27 110

原创 android Service

将近三年没有碰过Service了,最近面试被问到多次,就搜着看了些博客,对Service做一个总结,以便加深下记忆。这里通过提问题的方式来一步步的进行总结:1. android Service做什么用的,有Activity为什么还要用Service?2. Android中Service有几种?有何区别?3. 启动Service的方式有几种?4. Service的生命周期是怎样的?5. Servic...

2018-05-24 14:20:30 95

原创 Android Handler的一些理解

Android Handler相信做过android开发的人都不会太陌生,也许很多人不知道它内部的运行原理,但是至少都用过它来传递消息。对于Handler的最初使用,我也只是将它作为一个参数,用它来传递消息,更新我所要更新的UI及数据库,而至于其内部运行原理,因为没有工作的需求,也就没有去做研究。最近闲来无事,就看了些源码,并读了一些大神写的博客,对于Handler有了更深层的认识。Android...

2018-05-17 11:29:58 237

原创 android View绘制流程

android的View的绘制流程大概就如同我们作画一样,分为以下几步:1. 测量出每个view的大小。2.根据上一步测量得到的大小,确定view绘制的坐标位置。3.有了具体的位置及view大小,开始绘制view。我们的Activity在创建的时候就会对应的创建一个window,用于展示我们需要展示的view,可能android为了统一界面风格吧,在activity创建的时候就给安排好了主要的三个...

2018-05-15 21:58:08 703

原创 浅述android StrictMode

android strickMode是Android系统提供的一种代码优化工具,该工具类可以帮助检查应用程序中是否有在主线程中做耗时的操作,以及是否有内存泄漏的地方,帮助开发这在开发过程中对代码进行优化。strickMode包含两种检查策略,一种是ThreadPolicy由于检测线程中所做的耗时操作,例如文件读写,数据库读写以及网络读写,另一种检查策略是VMPolicy用于检查Activity中是...

2018-05-15 15:37:43 193

原创 Android UI的一些自我思考

学习Android已经很长一段时间了,一只都懒的去写点东西记录自己对这块的理解,由于公司的变动突然有了大把的时间,就来写一写自己对这块的理解以便加深下印象。最初学习UI的时候,眼里只能看到单一控件,看不到View的整个大局,只知道这个空间加上去什么效果那个控件加上去又有什么样的效果,不过随着使用的增多,对Android UI有了一个整体的认识,感觉UI的使用就像往房子里摆放家具一样,你可以采用不同...

2018-05-02 09:52:51 324

原创 线程安全心得

一直以来对于线程安全都理解的不是太明白,今天在看多线程并发的时候,突然有了点自己的小感悟,写出来增加一下自己的认识。通常我们的应用在处理一些耗时操作的时候,都会新创建一个线程去做这些耗时的操作,以免影响用户体验。正常情况我们只创建一个线程去操作那块存储空间,是不会有问题的,取到的数据就是我们想要的数据,但是,很多时候我们会有很多界面去做耗时的操作,而用户不会等待一个耗时操作的结束,此时就会碰到多个...

2018-04-29 11:58:02 91

空空如也

空空如也

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

TA关注的人

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