自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(43)
  • 资源 (55)
  • 收藏
  • 关注

原创 Android系统版本号对照表

系统名称3433323130292827262524232120Android 3.0Android 2.3.3Android 2.3Android 2.2Android 2.1Android 2.0Android 1.6Android 1.5Android 1.1Android 1.0。

2023-06-15 11:13:18 9642

原创 基于LinkedList高性能android列表适配器

高性能的LinkedList的android适配器数据结构!

2023-03-06 22:37:57 369

原创 Android退出应用后是否需要关闭数据库?

Android 系统为我们提供了 SQLiteOpenHelper 辅助完成 SQLiteDatabase 的创建,通过 getReadableDatabase / getWriteableDatabase 方法分别获取只读或可读/写的 SQLiteDatabase 对象;2、SQLiteDatabaseSQLiteDatabase 的openInner方法中会执行 的数据库连接池 SQLiteConnectionPool的open方法:3、SQLiteConnectionPool 连接缓存池SQ

2022-07-01 20:39:50 1067

原创 UIAutomatorViewer排查问题

排查一个弹窗展示的问题,不知道为什么会无缘无故的出现一个弹窗

2022-07-01 20:32:20 745

原创 工信部敏感权限Android端排查快速检索

现在工信部针对android客户端安全审核的要求越来越严格,列了很多项目去检查,总结了关键的方法,只要检查有这些方法 就一定是涉及到敏感权限了:

2022-06-16 18:05:57 1230

原创 Android实现滑动的几种方法

参考文章转自:https://blog.csdn.net/shakespeare001/article/details/51657795文章说了5种方式的滚动方法,说的都没啥毛病。但是OnTouchEvent方法没有说清楚,我想了一阵子之后明白其中的道理 @Override public boolean onTouchEvent(MotionEvent ev) { ...

2019-04-17 21:18:10 332

原创 多层嵌套ViewPager 解决冲突问题

我们在项目中很多得时候会用到Activity+ViewPager+Fragment作为主框架,然后在其中一个Fragment中得列表中 添加一个Banner作为广告位,但是这样 容易有焦点冲突得问题其实很关键地方在我们内部得那个BannerViewPager 这里需要对拦截器 进行编写public class BannerViewPager extends ViewPager ...

2019-03-10 11:17:01 700

原创 Android ListView以及RecyclerView里面 监听Item可见以及不可见的状态

项目开发中最近 经常遇到这样的需求,就是ListView或者RecyclerView中的ItemView 被展示或者不可见的时候 要被能监听到这个通常是打点的需求。这里我们能想到的是 滚动的监听,无论是ListView或者RecyclerView的监听事件要监听的就是第一个显示的position以及最后显示的position,然后对比上次显示的第一个position和最后一个po...

2019-03-09 01:17:21 12564

原创 Android 事件分发的规则概况

事件分发总流程Activity dispatcTouchEvent->ViewGroup dispatcTouchEvent-> OnIntercepteTouchEvent->View dispatcTouchEvent-> OnTouchEvent  Activity中的dispatcTouchEventtrue 消费掉false 消费掉...

2018-12-27 23:56:58 146

原创 Java类的初始化顺序

Java类的初始化顺序属性、方法、构造方法、和自由块都是类中的成员,在创建对象的时候各成员的执行顺序如下1、父类静态成员和静态初始化块,按在代码中出现的顺序依次执行2、子类静态成员和静态初始化块,按在代码中出现的顺序依次执行3、父类实例成员和实例初始化块,按在代码中出现的顺序依次执行4、执行父类构造方法5、子类实例成员和实例初始化块,按在代码中出现的顺序依次执行6、执行...

2018-12-27 23:54:57 135

转载 Java自定义类的加载器

Java自定义类的加载器 转自:Java的ClassLoader加载机制一看你就懂,超详细java中的ClassLoader详解深入理解Java类加载器(ClassLoader) 一、ClassLoader作用Java程序在运行的时候,JVM通过类加载机制(ClassLoader)把class文件加载到内存中,只有class文件被载入内存,才能被其他class引用,...

2018-12-27 21:07:31 33656 19

原创 String字符串转化为int类型

通常我们使用Integer的parseInt解析数字型字符串,它的内部是怎么解析的呢? String num="-2147483645"; int numInt=parseInt(num,10);那么Integer中的parseInt方法是如何做的呢?public static int parseInt(String s, int radix) thr...

2018-10-29 18:45:25 20634

原创 粘性的ListView和ScrollView

 粘性的ListView和ScrollView 先看一下效果ListView的ListView的header上面 有一个粘性的view 在滚动上去时候 他可以固定住,滑动下去之后 又下来了 ScrollView也有这样的效果, 这个是怎么实现的呢?其实他们原理都是一样的!之前总感觉是把这个view remove掉之后 然后再添加到其他ViewGroup上后...

2018-10-10 16:01:10 396

转载 深入理解JVM之JVM内存区域与内存分配

转自:http://www.cnblogs.com/wangjzh/p/5258254.html在学习jvm的内存分配的时候,看到的这篇博客,该博客对jvm的内存分配总结的很好,同时也利用jvm的内存模型解释了java程序中有关参数传递的问题。  博客出处: http://www.cnblogs.com/hellocsl/p/3969768.html?utm_source=tuic

2017-10-19 23:02:18 260

原创 TCP/IP 三次握手四次挥手

三次握手第一次握手:host1发送一个TCP标志位SYN=1、ACK=0的数据包给host2,并随机会产生一个Sequence number=3233.当host2接收到这个数据后,host2由SYN=1可知客户端是想要建立连接;Client进入SYN_SENT状态第二次握手:host2要对客户端的联机请求进行确认,向host1发送应答号ACK=1、SYN=1、确认号Acknowl

2017-10-19 19:30:01 232

原创 android开发-Glide源码分析

ImageviewTarget包含了Imageview以及其他的生命周期的回调比如成功了、失败了、异常的他是在ontoGenericRequst包含了他的 错误资源、展位资源、动画设置等一切设置的属性都在这里DrawableTypeRequest中的构造方法中 if (transcoder == null) {            transcoder = gli

2017-10-10 08:21:34 415

原创 android开发-类加载

apk的目录AndroidManifest.xmlassets 这里的资源是没有id的lib apk的so库MATE-INF 存放的是签名信息R 目录 整个项目的资源文件resource.arsc 资源的索引classes.dex 优化过的class文件如果有分包,那么就有多个dex那么就有多了classes2.dex分包解决65535的问题 ,android dali...

2017-10-09 10:02:04 251

转载 Java中的深拷贝(深复制)和浅拷贝(浅复制)

深拷贝(深复制)和浅拷贝(浅复制)是两个比较通用的概念,尤其在C++语言中,若不弄懂,则会在delete的时候出问题,但是我们在这幸好用的是Java。虽然java自动管理对象的回收,但对于深拷贝(深复制)和浅拷贝(浅复制),我们还是要给予足够的重视,因为有时这两个概念往往会给我们带来不小的困惑。浅拷贝是指拷贝对象时仅仅拷贝对象本身(包括对象中的基本变量),而不拷贝对象包含的引用指向的对

2017-10-08 21:46:48 319

原创 android开发-Activity的启动过程

startActivity启动的是startActivityForResult在startActivityForResult中启动了instrumentation的execStartActivity。instrumentation因其强大的跟踪application及activity生命周期的功能,用于android 应用测试框架中,被做为基类使用然后通过ActivityGroup的s

2017-10-08 20:39:09 694

原创 android开发-BroadcastReceiver的底层原理

Receiver的原理一、注册的过程通过ContextWrapper的registerReceiver,但是实际上工作的是ContextImpllai 来完成的真正做注册的是通过registerReceiverInternal方法在这个方法里。注册的过程也是一个进程间通信的过程。把BroadcastReceiver封装成IIntentReceiver,BroadCastReceiv

2017-10-08 19:36:19 980

原创 android开发-冷启动优化

冷启动冷启动是从系统从没有任何app进行的信息,到第一个页面显示出来,1、Zygote进行中fork创建一个新的进程2、创建和初始化Application类,创建MainActivity类3、setContentView方法会执行inflate布局,onCreate/OnStart、OnResume4、contentView的measure/layout/draw显示在界面上

2017-10-08 14:47:45 343

原创 android开发-UI卡顿总结

UI卡顿我们人眼的对于画面流畅的最低标准时每秒60帧,换算成一帧是16毫秒也就是我们在绘制下一帧的时间不能超过60毫秒我们要防止画面的过度绘制1、在ui线程做了轻微的耗时操作2、减少不必要的背景绘制,比如根view设置了背景图片,而子View也设置背景图并且覆盖了父View3、使用ViewStub惰性加载,我们的View设置了setVisible(Gone)的时候 其实

2017-10-08 14:06:24 307

原创 Java常用集合类

集合类集合类主要分为两大类:Collection和Map。容器内每个槽元素个数不同,Collection只有一个,Map是类型是键值对形式1、Collection是List、Set、Queue等集合高度抽象出来的接口,它包含了这些集合的基本操作,它主要又分为三大部分:List和Set,Queue。List接口通常表示一个列表(数组、队列、链表、栈等),其中的元素可以重复,常用实现类

2017-10-08 00:39:41 354

原创 android开发-LRU缓存源码解析

LRU ---- least recently used.顾名思义,是根据数据的活跃度进行更新的缓存算法。Java里面实现LRU缓存通常有两种选择,一种是使用LinkedHashMap,一种是自己设计数据结构,使用链表+HashMap(线程不安全) 或者是链表+HashTable(线程安全)一、LRU Cache的LinkedHashMap实现:Linked...

2017-10-08 00:18:35 316

原创 android开发-Hashmap源码解析

HashMap的特性如HashMap可以接受null键值和值,而Hashtable则不能;HashMap是非synchronized;HashMap很快;以及HashMap储存的是键值对等等 int DEFAULT_INITIAL_CAPACITY =1<<4:默认的初始容量为16  int MAXIMUM_CAPACITY = 1 << 30:最大...

2017-10-07 19:42:04 310

原创 android开发-事件分发详解

事件分发源码分析事件最先传递个当前的Activity,由Activity的dispatchTouchEvent来进行时间派发具体的工作由Activity内部的Window来完成的,Window会将事件传递给decorview,decorview就是当前视图的底层容器dispatchTouchEvent返回值为true 表示事件被他或者她的子view给消化了如果返

2017-10-07 00:12:11 237

原创 android开发-IntentService的原理(非主线程创建Handler的情况)

一、IntentServiceIntentService是一个特殊的Service,继承自Service并且是一个抽象类,因此必须创建对他的子类才能使用IntentService。IntentService可以用于执行后台耗时的任务,执行完毕之后会自动销毁Service因为是Service的原因,所以他的优先级比单纯的线程要高很多,所以IntentService比较适合执行优先级较

2017-10-03 17:55:18 426

原创 android开发-android序列化

android序列化有两种实现Seriziable接口实现Parcelable接口

2017-10-03 11:34:44 212

原创 android开发-AsyncTask源码解析

AsyncTask的原理还是线程池+InternalHandler(继承于Handler)一、AsyncTask五个核心方法onPreExecute 主线程执行 在异步任务执行之前会先被调用 用来做初始化工作doInBackground(Params ...param) 在线程池中执行,此方法用来执行异步任务  在此方法中 通过publishProgress方法来更新任务进

2017-10-02 18:46:01 217

原创 android开发-线程池

android的线程池ThreadPoolExcutor ,他是实现了Excutor接口ThreadPoolExcutor最重要的是他的构造函数int corePoolSize 核心线程的数目  线程启动之后 无论是否空闲 会一直存在int maxiumPoolSize 最大线程数目 如果任务比较多 会创建一些临时的线程 临时线程与核心线程 一共的最大的数目 lon

2017-10-02 00:42:39 350

原创 android开发-android的消息机制(Handler)源码解析

android的消息机制其实就是Handler的运行机制

2017-10-01 18:45:59 202

原创 android开发-Binder

两个进程 分配的是AIDL中产生的Binder 文件中 有两个类一个是Stub、一个是Proxy进程A想访问进程B   需要访问 进行B在binder中的一个引用  这个引用就存着进程B 的AIDL的描述Binder驱动要放着很多Binder引用,因为不止一个服务要进行进程间通信,准定有很多的服务要进行进程间通信

2017-09-30 10:44:05 360

原创 android开发-自定义控件顺序

构造函数onFinishInflatesetData(我们在onCreate的时候 调用自定义的方法)onAttachedToWindowonMeasure(多次)onSizeChangedonLayout(多次)onDraw

2017-09-29 22:07:37 413

转载 android开发-横竖屏切换生命周期(非网传版)

android横竖屏切换的生命周期开源帮助android获得了飞速的发展,开源也导致了数不清的碎片问题。android的前期系统就是一个半成品,不成熟的系统以及google的快速迭代开发,导致厂家完全跟不上google的步伐,你2.3的bug还没改完,4.0就出来了,4.0的bug还在处理,4.1出来了,最后的结果就是,手机厂家给每部手机一个系统版本,并且不能升级。最后苦逼的就是广大的程序

2017-09-29 21:41:44 142

原创 android开发-BroadcastReceiver的种类

1、广播的种类:普通广播、有序广播、粘性广播、本地广播2、广播的注册方式:静态注册、和动态注册静态的注册是在应用安装的时候由系统自动完成注册,与其他三大组件一样都是由系统在安装时,由PMS(PackageManagerService)来完成整个注册的过程动态注册是由ContextWrapper的registerReceiver方法开始的,具体的实现是由ContextIm

2017-09-29 19:25:55 601

原创 android开发-Fragment生命周期

1、Fragment被称为第五大组件(1)为什么叫第五大组件Fragment有自己的生命周期,起初是被用来在大屏幕设备上 比如pad上做UI适配,一般与viewPager搭配使用可以灵活的动态的加载到Activity与Activity相比,更加节省内存切换UI的效果更加舒适使用频率上比较多 但是不属于其他的四大组件(2)Fragment加载到Activity的方式一

2017-09-29 13:47:28 267

原创 android开发-Service的生命周期

1、启动Service的方式有两种startService以及bindService他们各自的生命周期为startService:onCreate->onCommend  如果多次调用startService方法 那么会多次执行onCommend方法bindService: onCreate ->onBind  如果其他的Activity也绑定了服务那么 不会调用onBind回调

2017-09-29 11:45:46 474

原创 android开发-组件化开发基础

1、组件化开发很重要的一点是Schema 隐式跳转这里有一个很好的例子http://blog.csdn.net/ruingman/article/details/70054670也就是说在manifest的Activity中的data注册信息xl://goods:8888/goodsDetail?goodsId=10011002 通过上面的路径 Schema、Host、po

2017-09-29 09:59:30 238

原创 android开发-Activity生命周期

Activity的活动状态Running、Pause、Stop、KilledActivity的生命周期onCreate->OnStart->onResumeonPause->onStop(如果新的Activity设置了透明主题 那么原来的Activity不走onStop 因为他还是可见的)onRestart->onStart->onResume 其他的页面 返回来之后的生命周期

2017-09-28 10:06:14 260

转载 被杀死的App能否通过广播唤醒

转自:https://zhuanlan.zhihu.com/p/20933603最近在做一个需求:程序没有桌面图标,安装后能够自动将其插件添加到Launcher上,也就是程序在未启动的情况下,能够完成一些操作。能够想到的方案是在AndroidMainifest.xml中静态注册一个广播,监听系统的某些广播达到触发应用完成操作的目的,但现象是:程序安装后,在未启动的情况下无法接收到系统的

2017-09-27 22:34:54 3532

SwitchViewDemo

SwitchViewDemo

2012-12-26

android播放器

android播放器

2012-12-26

PreferenceActivity

android PreferenceActivity

2012-12-26

android 小画板

PaletteC.zip android 小画板

2012-12-26

pull-to-refresh-view.zip

android GridView下拉刷新 ListView下拉刷新

2012-12-26

Android网络视频播放器

Android网络视频播放器

2012-10-26

android抽屉

android抽屉

2012-10-26

自定义dialog(嵌套GridView

自定义dialog(嵌套GridView) 不错的例子啊

2012-10-26

listview下拉刷新

ListView下拉刷新的小例子 很不错的哦

2012-10-26

android 自定义ProgressDialog对话框

android 自定义ProgressDialog对话框,

2012-04-27

JAVA2核心技术第1卷:基础知识(原书第7版).part2

JAVA2核心技术第1卷:基础知识(原书第7版).part2

2012-04-10

JAVA2核心技术第1卷:基础知识(原书第7版).part3

JAVA2核心技术第1卷:基础知识(原书第7版).part3

2012-04-10

JAVA2核心技术第1卷:基础知识(原书第7版).part1

JAVA2核心技术第1卷:基础知识(原书第7版).part1,JAVA2核心技术第1卷:基础知识(原书第7版).part1,

2012-04-09

Java过滤字符串的方法

Java过滤字符串的方法,Java过滤字符串的方法,过滤敏感信息

2012-04-09

JAVA正则表达式实例教程

JAVA正则表达式实例教程

2012-04-06

Android读取中文文件乱码解决方法

Android读取中文文件乱码解决方法,读取本地文件的时候,读取网络资源的时候进行编码

2012-04-06

SoftReference、WeakReference和PhantomRefrence分析和比较

SoftReference、WeakReference和PhantomRefrence分析和比较

2012-03-15

谷歌android优化

谷歌android优化,很不错的关于Listview的优化

2012-03-15

SCroller练习

android scroller ViewGroup

2012-03-08

Scroller的应用

这个是Scroller应用上的demo 而且结合了自定义ViewGroup 很高的学习价值以及收藏价值

2012-03-08

基于LinkedList高性能android列表适配器

基于LinkedList高性能android列表适配器

2023-03-07

判断recyclerview中的item显示与消失的监听

判断recyclerview中的item显示与消失的监听,用于打点时候的监听

2019-07-15

android画波浪线,老师批改作业效果

android画波浪线,自己写的,android画波浪线,自己写的

2019-07-15

android Service的生命周期

android Service的生命周期 bind以及startService两种方式 对应的生命周期

2017-09-29

Activity Schema例子demo

android 隐式跳转的例子 包含了两个app之间启动页面 栈之间的关系

2017-09-29

水滴下拉效果

android 水滴下拉效果 仿造IOS

2014-06-26

水平的ListView

android 水平ListView 可以设置初始化位置

2014-06-26

ListView item多种布局

ListView item多种布局很不错的例子 相信你不会后悔

2014-06-26

Linux内核情景分析

Linux内核情景分析

2013-07-18

Linux Device Driver

Linux.Device.Driver

2013-07-18

Inside_the_JVM

Inside_the_JVM

2013-07-18

Java虚拟机规范

Java虚拟机规范

2013-07-18

android studio下载地址

android studio下载地址

2013-05-16

android GridView下拉刷新

android GridView下拉刷新

2012-12-26

android 小画板程序

android 小画板程序

2012-12-26

android 播放gif文件

android 播放gif文件

2012-12-26

Android的相册,读取sdcard里的相片

读取sdcard里面的图片,有观看模式设置,分别以listview,gridview,gallery来显示。

2012-12-26

android 可以拖动的TextView

android 可以拖动的TextView

2012-12-26

android图片查看

android图片查看 图片可以放大 可以移动

2012-12-26

android RTSP协议播放视频

android RTSP播放网络视频 实时播放视频

2012-12-26

空空如也

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

TA关注的人

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