自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

小飞哥的专栏

技术的提升,来自点滴积累

  • 博客(28)
  • 资源 (10)
  • 收藏
  • 关注

原创 Android中IntentService知识点面试,这篇文章就够了~

好久没复习IntentService了,直到昨天面试问到了IntentService相关知识点,这里就重新总结了一下,希望对大家掌握IntentService有一臂之力。从名字上看,很直观地可以看出它是Service的子类,Service对于我们Android开发来讲再熟悉不过了。Service是Android四大组件之一,对用户不可见,但它也是运行在主线程的,那IntentService的特点也跟Service也是一样吗?我们带着这个问题往下分析。我们知道做Android开发,为啥会有Androi

2021-04-09 13:47:04 363

原创 synchronized和volatile的区别以及synchronized的底层原理

https://cloud.tencent.com/developer/article/1465413

2021-04-07 16:32:05 190

原创 某度车辆网Android一面题目

1、HashMap的源码(hash函数、1.7和1.8的区别,链表和红黑树的转换)。2、在子线程创建Handler,执行Looper.loop后的代码怎么执行?3、java虚拟机的原理4、java有哪几种引用类型,使用在什么场景?5、垃圾回收算法有哪些?6、onNewIntent一般什么时候执行?7、有做过哪些性能优化?8、有用过哪些设计模式?请手写一个单例。9、算法:判断一个链表有无环(手写代码)。10、说下你做项目过程中,最能体现你技能的地方(比如解决一个很难的问题)。...

2021-03-15 16:31:26 307

原创 字节跳动-广告系统Android岗位一面面试题

1、Native层调用java层有哪些注意事项?java层调用Native有哪些注意事项?2、Android 7.0后jni调用有哪些注意事项?3、如何保证子线程Looper的唯一性?4、Handler中的postDelay方法如何保证到点执行?5、性能优化有哪些方法?有哪些常用工具?LeakCanary的原理是什么?6、Activity的生命周期方法有哪些?当onResume方法执行时,当前有哪些线程在执行?7、算法题:有两个有序链表,合并成一个新的有序链表。...

2021-03-06 16:46:07 275

原创 浅谈CountDownLatch用法,简单超实用

一、前言1、countDownLatch是在jdk 1.5 被引入,跟它一起被引入的工具类还有CyclicBarrier、Semaphore、concurrentHashMap和BlockingQueue。2、存在于java.util.cucurrent包下。二、概念countDownLatch这个类使一个线程等待其他线程各自执行完毕后再执行。是通过一个计数器来实现的,计数器的初始值是线程的数量。每当一个线程执行完毕后,计数器的值就-1,当计数器的值为0时,表示所有线程都执行完毕,然后在

2020-08-06 16:43:47 1088

原创 入门篇-学习Android安全和逆向开发的路线总结

此篇整理了最完整的--Android逆向学习线路知识体系。希望给迷糊的入门者指出一个明确的方向。真心建议:先正向开发几年再搞逆向吧……正向都不会破解的是啥?不看代码只会脱壳?只会xposed ?远远不够,hook只是很小一部分技术,xposed是hook功能众多框架中的一个而已。相对于任何程序的开发来说,逆向知识点很少很少了,关键是基础知识,基础就是正向开发经验。学习Android逆向之前,必备条...

2019-12-31 15:19:14 482

原创 浅谈Android8.1自动同步时间机制

好久没更新博客了,这一年来实在是太忙,上班、洗衣、做饭、看书、奶爸,忙确实是忙。最近工作中刚好研究了下Android8.1系统的自动同步时间机制,也学到了一点东西,leader也叫分享下,趁着这个机会就简单分享下我对Android8.1自动同步时间机制的理解: 一、问题前沿公司的测试妹子提了个问题:链接上wifi...

2019-08-22 16:43:31 5724 5

原创 浅谈Android注解在日常开发中的简单使用

注解一词,你第一眼看过去可能会误解为是注释,其实不然,在Java技术中它是属于一个单独的功能分类模块,它有其独特的使用功能,接下我们就来先看一下Java中的注解:一、Java注解 我们简单来看下java的注解功能: 适用场景——通过的类的反射获取类的方法和属性 java中元注解有四个:@Retention @Target @Document @In...

2018-05-31 17:36:57 1078

原创 Android之对话框AlertDialog源码浅析

一、前述    我们在应用app开发中经常会使用对话框,基本都是使用AlertDialog来构建,使用方式如下:AlertDialog.Builder builder = new AlertDialog.Builder(this);builder.setTitle("Title").setMessage("Message").create().show();用法很简单并且是链式调用,非常美观,接...

2018-05-08 15:14:04 648

原创 Android面向切面编程(AOP)浅析

一、前述    我们知道Java语言是面向对象的语言,有继承、多态、封装等相关概念,在项目实战中主要做到的是功能的模块化,模块与模块间低耦合,这是面向对象的核心思想。Android系统的framework层有四大服务,分别为ActivityManagerService、WindowManagerService、PowerManagerService和PackageManagerService,它们...

2018-05-07 16:16:39 276

原创 Android6.0系统源码编译相关命令

一、系统源码整编与单编    整编:1、source init_648.sh               2、source build/envsetup.sh               3、lunch 13              4、mm MPinyinIME 或 mmm device/mstar/common/apps/MPinyinIME/ 或进入目录 mm -B   依次执行上面这些命...

2018-05-07 13:47:10 402

原创 Android6.0系统源码之SystemUI导入Eclipse IDE编译

一、前述    SystemUI在系统的framework层,属于系统级源码,它依赖于系统很多自带的类库,不能导出直接编译,当然你在系统里可以 直接编译,如常见命令:mmm/mm等,今天我们着手来分析下如何将SystemUI源码导入Eclipse IDE来编译生成apk。二、导入SystemUI源码    SystemUI系统源码所在目录为:frameworks\base\packages\Sys...

2018-05-07 11:59:58 1722 3

原创 App启动流程分析

当你在手机上安装一个app应用后,只要点击手机桌面上的app图标就可以开启这个应用,虽然这个操作很简单,但你知道它的实现原理吗?如果你是一位纯应用的app应用开发者,可能你根本不会去了解它是怎么实现的,因为你关注的只是app。如果你比较熟悉了,此博文略过哈。今天我们就一起来学习下app是如何在安卓系统中启动起来的? 一、初步分析    我们的app应用安装在手机后在手机桌面上会有一个图标,这个图标...

2018-04-29 14:58:46 803

原创 ArrayList源码浅析

ArrayList这个类,对于Android开发者来说太简单不过了:它是一个集合类,用来存放元素。比如说经常的用法是这样:List list = new ArrayList();我们可以对list集合进行一些基本的操作——增删改查。当然这些只是停留于会用ArrayList,你是否了解ArrayList内部实现原理?你是否了解其内部增删改查机制?你是否对它的扩容机制了然于心?如果你知道的话,下面这些内

2017-09-18 23:52:03 389

原创 Android NDK开发(一)之java层调用C代码浅析

作为一名安卓程序员,起初都是从入门->初级程序员->中级程序员->高级程序员->资深程序员->再到专家这一过程的,当然也不排除有些人从入门到放弃啦,哈哈,开个玩笑。如果想成为一名高级程序员,最起码的,什么三方框架源码呀、高级UI、移动架构、NDK等技术还是要熟练,不然不会的话,人家就给你带上了个中级程序的称号。接下来废话不多说,进入今天的博客主题吧。今天我们来学习下NDK开发最基础的一个技术,大家知

2017-07-16 15:37:35 492

原创 Android使用SurfaceView和TextureView来播放视频

最近项目中在调试一个问题:app端呈现摄像头画面的调整,很坑的一个问题。项目经理估计搞不定,就把这个问题扔给我了,有点坑啊。因为播放摄像头视频的控件是继承于surfaceview的,于是乎就从surfaceview入手,因为这个控件是继承于surfaceview,又稍微做了些封装,结果机智的我就直接写了如下代码: ViewGroup.LayoutParams params = surfaceView

2017-07-02 17:30:08 6622 3

原创 Android之自定义view及自定义属性

前一段时间面试碰到一面试题,说难也不难,说简单但也没接触过,可能是自己基础太薄弱了,这一问题面试官问到:自定义view很简单,但自定义view的属性如何添加呢?当时我没回答出来,一脸蒙蔽!后来回来上网查了下自定义view的自定义属性,才知道原来这么简单。我们知道自定义view,只要继承view,然后复写onMeasure、onLayout、onDraw方法即可实现,但是如何给自定义好的view添加自

2016-04-28 16:57:48 352

转载 我的 Android 开发实战经验总结

以前一直想写一篇总结 Android 开发经验的文章,估计当时的我还达不到某种水平,所以思路跟不上,下笔又捉襟见肘。近日,思路较为明朗,于是重新操起键盘开始码字一番。先声明一下哈,本人不是大厂的程序猿。去年毕业前,就一直在当前创业小团队从事自己热爱的打码事业至今。下面总结是建立在我当前的技术水平和认知上写的,如有不同看法欢迎留下评论互相交流。1.理解抽象,封装变化 目前 Android 平台上绝大

2016-03-28 17:52:02 262

转载 详细解析Java中抽象类和接口的区别

转载自:http://dev.yesky.com/436/7581936.shtml 在Java语言中, abstract class 和interface 是支持抽象类定义的两种机制。正是由于这两种机制的存在,才赋予了Java强大的 面向对象能力。abstract class和interface之间在对于抽象类定义的支持方面具有很大的相似性,甚至可以相互替换,因此很多开发者在进 行抽象类定义时对

2016-03-14 17:51:50 222

原创 Android之单例设计模式浅析

对于程序员来说,好的编码设计模式能大大提高软件的性能,尤其在java语言中,是因为其内存回收机制跟C++完全不一样,它依赖于JVM的“垃圾回收机制”。在java中,一切皆对象,每当我们new一个对象时就在内存空间中分配了一定的内存空间,所以我们要尽可能少new对象,这样才能减少内存空间的浪费。 单例设计模式就是保证类有且仅有一个实例,这种模式很好的用于android应用开发中。单例设计模式分为

2016-03-14 15:51:29 318

原创 Android之数据传输利器和低耦合器EventBus解析

相信对于android应用开发者来说,Activity、Service、Broadcast等组件并不陌生,它们之间的交互是通过Intent来传递基本数据类型、自定义数据类型来实现的,如若数据多的话会显得非常混乱,特别是广播风暴。大家在java的基础的学习中可能都学过观察者模式,相信对其也有了解!观察者模式就是对某一对象注册一个监听,当该对象发生变化时会触发监听事件。本博文针对数据传输利器和低耦合器非

2016-03-10 11:23:48 374

转载 学习UPnP

upnp

2016-01-08 20:16:55 306

原创 Android Handler机制原理

我们知道android也有多线程开发,包括主线程(main thread)和子线程,通常我们把主线程称之为UI线程,也即是界面线程。 平时我们开发中可能会遇到一种情况:我们开启一个子线程来更新UI组件会导致程序抛出异常,如:Only the original thread that created a view hierarchy can touch its views,换句话说就是只有主线程才可

2015-12-30 14:37:54 322

原创 Android SlidingMenu的使用

有时我们发现手机可以左右滑动,显示不同界面,等闲视之称之为侧滑效果,这种效果是如何实现的呢?这里我们就要用到开源控件-SlidingMenu,SlidingMenu能很好的实现这种效果,下面我们结合Demo来实现讲解,首先我们看一下Demo的效果图: 我们要把SlidingMenu的开源包下载下来,这里有三种方式跟你的项目相结合使用,第一种方式是:将SlidingMenu开源包作为依赖库导入

2015-12-28 17:44:51 355

原创 Android事件分发机制之ViewGroup篇

上一篇我们介绍了Android事件分发机制之View篇,相信大家对Android的事件分发有了一定的了解!在讲之前我们要明确两个概念:一个是View,一个是ViewGroup。当然ViewGroup是个容器,它的父类是View,它也包含很多子View和ViewGroup。好了,我们进入本文正题吧!首先我们提供一个Demo的效果图: 该效果图的界面非常简单,界面中只有一个按钮。一、layout文

2015-12-26 20:40:28 357

原创 Android事件分发机制之View篇

Android事件分发机制之View篇我们在android手机开发中有时会碰到一些这样的问题:1、上下滑动屏幕,ListView并不随之滚动?2、按一些按键(如Button),且已经设置了setOnclickListener相关监听,但按键确实没反应?这是为什么呢?这就是我这篇文章要讲到的Android事件分发。我们通过一个非常简单的例子来讲解一下,这个真的是非常简单:先来一个Demo示范:

2015-12-26 17:49:52 305

原创 Android之ViewPager的使用

我们知道现在很多app都有左右滑动的效果,那在安卓里是怎么实现的呢?这里就是用到我们所说的ViewPager,它是一个控件,但不是一个原生的控件(如Button控件等之类的),它是android3.0以上才能使用的,位于android.support.v4.jar包下,接下来为了让大家更加熟悉的了解ViewPager的使用,我们通过一个例子来介绍:         这个demo很简单:只用到了

2015-12-20 14:25:11 348

原创 Android 多线程数据加载

我们知道android的UI线程,即是android的主线程,主线是线程安全的。像有些耗时的线程,如下载、上传或是大文件解析等是不可以放在主线程中进行的,为什么这样说呢?因为在主线程中进行耗时的操作会导致界面卡住,导致ANR(应用程序无响应),ANR给客户的体验非常不好,作为程序员就要尽量避免出现这种情况。我们如何来做呢?其实我们就可以用多线程来解决。比如我们可以开启一个新线程来做这个耗时的操作,

2015-02-03 22:42:17 706

TextureView播放视频

textureview播放视频

2017-07-02

surfaceview+mediaplayer

surfaceview+mediapler 可以控制视频大小

2017-07-02

android 自定义view及自定义属性

android 自定义view及自定义属性

2016-04-28

EventBus使用Demo

EventBus Demo

2016-03-10

EventBus开源库

android 数据传输利器和低耦合器 eventbus

2016-03-10

android内核剖析

关于android源码讲得比较好的一本书

2015-12-28

Android Studio使用指南(V0.1).pdf

Android Studio使用指南(V0.1)

2015-07-27

计算机基础教案

计算机基础教案内容很实用,真的是本不错的资料哦

2012-11-01

空空如也

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

TA关注的人

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