- 博客(65)
- 收藏
- 关注
原创 【Android】各种小知识点,不间断更新
提高应用启动速度splash页面瞬间响应App启动时闪屏页的白屏或者黑屏现象(取决于你所选取的Theme),无论怎么优化Application和启动页的onCreate都无法消除,毕竟解析界面是需要一定时间的,此时可以通过自定义启动页面的windowBackground来解决这个问题。代码如下:name="AppSplash" parent="android:Theme">
2016-06-15 19:37:20 1346
原创 几种排序算法分析
这里写目录标题1.1 排序的定义1.2术语说明算法总结1.3 算法分类1.4 比较和非比较的区别1.5.1、冒泡排序(Bubble Sort)1.5.2 算法描述1.5.4 代码实现1.6.1 算法分析1.6.4 动图演示3、插入排序(Insertion Sort)3.1 算法描述3.2 动图演示3.2 代码实现3.4 算法分析4、希尔排序(Shell Sort)4.1 算法描述4.2 过程演示4.3 代码实现4.4 算法分析5、归并排序(Merge Sort)5.1 算法描述5.2 动图演示5.3 代码实
2021-12-30 19:09:30 259
原创 简单排序算法
这里写目录标题冒泡排序选择排序插入排序希尔排序快速排序二分法冒泡排序两个for循环,两两进行比较,如果满足规则,则将两个数据进行交换 public int[] maopao() { int[] arrays = {1, 3, 9, 5, 11, 66, 85, 97, 101, 588, 469, 258, 147, 369, 456}; for (int i = arrays.length - 1; i > 0; i--) { f
2021-12-30 16:50:35 130
原创 数据结构之ArrayList
ArrayListArrayList详解ArrayList概念ArrayList类Serializable 标记性接口Cloneable 标记性接口RandomAccess 标记性接口AbstractList 抽象类ArrayList源码解析构造函数add(E e)add(int index, E element)addAll(Collection<? extends E> c)addAll(int index, Collection<? extends E> c)E set(int
2021-12-29 16:44:33 2097
原创 从synchronized入手看锁
synchronizedsynchronized基础描述三级目录对象实例在JVM中的状态锁的不同状态锁膨胀偏向锁轻量级锁synchronized原理synchronized基础描述修饰在方法上,锁的是当前对象,创建多个对象,则锁失效此时可以用单例、静态方法锁等方法避免三级目录对象实例在JVM中的状态一个java对象在内存中分为对象头、实例数据、对其三个部分对象头:8个字节,垃圾回收数据(分代年龄、GC标志)、锁数据、hashcode值等,一部分存放对象的类元数据,通过该数据确定对象是哪个类的
2021-12-24 19:52:10 1375
原创 Android内存相关补充
内存相关补充内存泄露和内存溢出内存泄露内存溢出内存抖动垃圾回收机制栈内存、堆内存、方法区方法区栈内存堆内存新开线程finalGC方式GC回收步骤标记清除法标记整理法内存划分内存泄露和内存溢出内存泄露程序在申请内存后,被某个对象一直持有,无法释放已申请的内存。一次内存泄露危害可以忽略,但堆积起来的后果很严重,无论多少内存,都会被耗光。一般发生在方法区、堆内存、虚拟机栈典型:长生命周期对象持有短生命周期对象的引用,导致短生命周期对象无法销毁。单例持有Activity的引用静态变量持有Activit
2021-12-20 20:37:25 1139
原创 JVM虚拟机与Android虚拟机
虚拟机相关虚拟机是什么, JVM,Dalvik,Art三者的区别JVM和Android虚拟机的区别虚拟栈和寄存器class与dex结构Dalvik虚拟机和Art虚拟机的区别虚拟机是什么, JVM,Dalvik,Art三者的区别JVM和Android虚拟机的区别JVM虚拟机执的是.class文件,Android虚拟机执行的是.dex文件class文件存在很多冗余信息,dex会去除冗余信息一个class文件是一个类,一个dex文件里有很多类,减少加载次数和IO操作JVM虚拟机执行的是基于虚拟栈的
2021-12-20 15:23:53 2077
原创 插件化问题
插件化问题插桩式插件化启动Activity简单流程插桩式静态广播几个问题在插件中,为什么不能使用this为什么需要代理的Activity插桩式插件化启动Activity简单流程同理,Service和动态注册广播也是类似的流程插桩式静态广播几个问题在插件中,为什么不能使用this因为插件APK没有安装,没有context环境,所以不能使用this,所有由this调用的方法,都需要被重写,调用宿主代理Activity中的方法为什么需要代理的Activity为插件提供Context环境、Act
2021-12-09 20:58:50 72
原创 SetContentView流程及应用换肤
SetContentView流程及应用换肤SetContentView流程LayoutInflater.inflate流程LayoutInflaterCompat.setFactory方法及换肤动态换肤方案SetContentView流程LayoutInflater.inflate流程LayoutInflaterCompat.setFactory方法及换肤在上边分析setContentView的流程中,我们发现在调用到createViewFromTag的时候,在调用系统方法生成View之前,会先
2021-12-06 18:08:05 234
原创 PMS AMS相关
这里写目录标题一级目录二级目录PackageManagerServiceContextWrapper和ContextImpl是怎么关联起来的startService简单流程一级目录二级目录PackageManagerServiceContextWrapper和ContextImpl是怎么关联起来的ContextWrapper中有一个变量mBase,实际就是ContextImpl对象,是何时赋值的?startService简单流程...
2021-12-05 17:14:01 69
原创 Handler
Handler碎碎念碎碎念内存泄露子线程为什么不能创建handler为什么Handler不会造成死循环Handler怎么发送异步消息,将runnable对象放入消息队列的Handler中延时消息是如何处理的Handler中消息队列是什么数据结构Handler中new Message和Message.obtain有什么区别Handler如何切换线程ThreadLocal碎碎念内存泄露一、发生在延时消息、子线程阻塞后发过来的消息、以及网络请求结果回来后的消息,此时如果activity退出了,就会出现内存泄
2021-12-02 12:03:12 884
原创 使用Android Studio开发gradle插件(一)
使用Android Studio开发gradle插件创建插件打包到本地maven使用创建插件在Android studio中不能直接创建gradle plugin,所以我们创建一个library,并对其进行修改。gradle插件是基于groovy来进行开发的,所以我们需要将我们的module改造成一个groovy项目。创建完成之后,删除module里边的文件,只保留src/main和build.gradle文件。然后在main文件夹下添加groovy目录和resources目录,groovy目录
2020-12-07 18:00:57 851 1
原创 无障碍
无障碍可以监听的事件类型常规用法节点的基本属性可以模拟的ACTION类型可执行的全局操作模拟执行手势可以监听的事件类型typeAllMask:接收所有事件。-------窗口事件相关(常用)---------typeWindowStateChanged:监听窗口状态变化,比如打开一个popupWindow,dialog,Activity切换等等。typeWindowContentChanged:监听窗口内容改变,比如根布局子view的变化。typeWindowsChanged:监听屏幕上显示的
2020-10-29 15:11:23 308
原创 Android面试题(2020)
文章目录Java基础Android部分Http基础知识算法kotlin、flutter相关其他问题Java基础String是什么数据类型?(Java中数据类型)Java中数据类型分为两种:基本数据类型和引用数据类型。根据下图可以看出String为引用类型。String、StringBuilder、StringBuffer的区别(1)String是字符串常量,一旦创建后就不可改变,String的拼接会创建新的字符串常量对象并回收之前的对象,频繁的String拼接对内存消耗较大,并且耗时。
2020-08-17 18:23:15 3975
原创 MyBatis-Plus基础用法笔记(只记录了我个人需要注意的地方)
说明:文中articleService为Service实例,Article article为具体实体对象,list为存储实体对象的集合,article以code属性为主键 findByCode方法为自己封装的wrapper实现的,HmPage为IPage的具体实现类CRUD接口Service CRUD接口SavearticleService.saveBatch(list,3);/...
2019-12-19 14:30:04 1155
原创 git 基本命令
Git 全局设置git config --global user.name “xxx”git config --global user.email “xxx”创建新版本库git clone xxx.gitcd VM5.0touch README.mdgit add README.mdgit commit -m “add README”git push -u origin mast...
2019-08-13 18:10:44 96
原创 python基础语法
原始字符串:在字符串前加r,程序会对字符串中的\等自动进行转义例如:str = r"C:\now"长字符串:使用""" """ ,会对长文本的换行等进行转义3 ** 5 3的5次幂10 / 8 = 1.25 10 // 8 = 1逻辑操作符 and or not断言assert 当assert后边的条件为false的时候 程序自动崩溃并抛出AssertionError的异常f...
2017-12-14 19:26:00 181
原创 CentOS 配置FTP
安装并启动FTP服务安装VSFTPD yum install vsftpd -y启动VSFTPD service vsftpd start配置FTP权限VSFTP配置项vsftpd的配置目录为/etc/vsftpd,包含以下配置文件:vsftpd.conf为主要配置文件 ftpusers配置禁止访问FTP服务器的用户列表user_list配置用户访问控制阻止匿名访问和切换根目录编辑 /
2017-12-12 19:10:15 222
原创 LINUX基础命令
查看当前目录绝对路径 pwd -Pmv命令移动目录 mv /x/xx /xx/xxxrm -rf命令删除目录 rm -rf /x/xx/xxxrm命令删除文件 rm ~/testFilels命令查看目录下文件夹touch命令创建文件 touch ~/testFilecp命令复制文件夹 cp ~testFile ~/testNewFilecat命令查看文件内容 cat ~/testFi
2017-12-12 18:48:27 264
转载 Android开发:最全面、最易懂的Webview使用详解
文章转自:http://www.jianshu.com/p/3c94ae673e2a1. 简介WebView是一个基于webkit引擎、展现web页面的控件。Android的Webview在低版本和高版本采用了不同的webkit版本内核,4.4后直接使用了Chrome。2. 作用显示和渲染Web页面直接使用html文件(网络上或本地assets中)作布局可和JavaScript交互调用We
2017-12-04 18:06:46 316
原创 AnimatedVectorDrawable的一些碎碎念
关于Vector及AnimatedVectorDrawable的一些基本知识,请参见徐医生的Android Vector曲折的兼容之路 ,写的很全,很棒。读完上文之后,我们对静态的vector和动态的AnimatedVectorDrawable有了一定的了解,并做了一些小的尝试,本文里边主要说的是一些兼容性的问题及解决方案。从AppCompat23.2开始,Google开始支持在低版本上使用Vect
2017-02-21 17:10:47 2845 1
原创 Android Studio上传项目到jcenter
现在我们使用Android Studio进行开发,当需要使用到第三方库的时候,通常情况下我们会在gradle文件中的依赖里边添加一句话 “compile xxx.xxx.xxx:xxx:1.0.0”,就可以非常方便的将别人的库引入到自己的项目中,今天我们就来和大家一起将自己写的代码上传到jcenter中,供别人调用。首先,我们需要到bintray中注册一个账号。 注册好之后,我们到用户中心去获取A
2017-01-22 18:46:09 579
原创 仿微信小程序多任务栈效果
话不多说,先上图。 talk is cheap,show me the code。 其实代码很简单 只需要在manifest中设置两个属性即可。 <activity android:name=".SecondActivity" android:taskAffinity="com.gitzzp.ex" android:launchMode="si
2017-01-17 01:37:14 4150 2
转载 分享一个基于MVP+Retrofit+RxJava+MaterialDesign的App
本文转自:http://android.jobbole.com/83770/2016已经荒废了一半,还有一半可以继续浪费。源码我已经上传到github上了,欢迎fork和starhttps://github.com/PleaseCallMeCoder/PrettyGirls我想说的最近一直在忙项目的事,所以很久不写博客了。抽时间整理了下最近的收藏的一些文章,感觉新的知识点还是挺多的,于是乎
2016-10-13 12:16:32 355
转载 Android drawPath 实现QQ拖拽泡泡
本文转自:http://android.jobbole.com/84457/这两天学习了使用Path绘制贝塞尔曲线相关,然后自己动手做了一个类似QQ未读消息可拖拽的小气泡,效果图如下:最终效果图接下来一步一步的实现整个过程。基本原理其实就是使用Path绘制三点的二次方贝塞尔曲线来完成那个妖娆的曲线的。然后根据触摸点不断绘制对应的圆形,根据距离的改变改变原始固定圆形的半径大小。最后就是松手后返回或
2016-10-13 12:12:02 345
转载 Android 自定义View 跳动的水果和文字
本文转自:http://android.jobbole.com/84466/开头这是自定义View和动画的第二篇,第一篇是Android drawPath 实现QQ拖拽泡泡,主要介绍了drawPath 绘制二次贝塞尔曲线的过程。(idea来自同事的新需求!)话不多说,还是先上效果图吧!(今天手贱升级了Genymotion,就成这个傻逼样子了!)效果图全局配置根据效果图,再来说说实现的基本过程。
2016-10-13 12:08:34 412
转载 Andorid 自定义圆形渐变色进度条的从实现到开源
本文转自:http://android.jobbole.com/84025/写在前面的话3月初我在自定义控件概述中挖下的几个坑,前一段时间已经基本填完了,自定义控件的几种实现方式也分别写了demo来进行说明。今天我们来聊一聊如何把自己封装一个圆形渐变色进度条控件开源到github,并且上传到jcenter方便别人远程依赖。先看下效果图:连接github并提交新项目前提条件:安装Git客户端(下载地
2016-10-13 12:05:34 1078
转载 Android安全加密:Https编程
本文转自:http://blog.csdn.net/axi295309066/article/details/52494902 Android安全加密专题文章索引Android安全加密:对称加密Android安全加密:非对称加密Android安全加密:消息摘要Message DigestAndroid安全加密:数字签名和数字证书Android安全加密:Https编程以上
2016-09-26 14:29:31 905
转载 Android安全加密:数字签名和数字证书
本文转自:http://blog.csdn.net/axi295309066/article/details/52494832 Android安全加密专题文章索引Android安全加密:对称加密Android安全加密:非对称加密Android安全加密:消息摘要Message DigestAndroid安全加密:数字签名和数字证书Android安全加密:Https编程以上
2016-09-26 14:27:38 471
转载 Android安全加密:消息摘要Message Digest
本文转自:http://blog.csdn.net/axi295309066/article/details/52494725 Android安全加密专题文章索引Android安全加密:对称加密Android安全加密:非对称加密Android安全加密:消息摘要Message DigestAndroid安全加密:数字签名和数字证书Android安全加密:Https编程以上
2016-09-26 14:25:44 553
转载 Android安全加密:非对称加密
本文转自:http://blog.csdn.net/axi295309066/article/details/52494640 Android安全加密专题文章索引Android安全加密:对称加密Android安全加密:非对称加密Android安全加密:消息摘要Message DigestAndroid安全加密:数字签名和数字证书Android安全加密:Https编程以上
2016-09-26 14:23:54 587
转载 Android安全加密:对称加密
本文转自:http://blog.csdn.net/axi295309066/article/details/52491077 Android安全加密专题文章索引Android安全加密:对称加密Android安全加密:非对称加密Android安全加密:消息摘要Message DigestAndroid安全加密:数字签名和数字证书Android安全加密:Https编程以上学
2016-09-26 14:21:17 733
转载 使用CoordinatorLayout打造一个炫酷的详情页
本文转自:http://www.jianshu.com/p/5287d090e777 开发中如果能恰当的使用material design的一些设计,不仅能让你的APP更炫酷,最重要的是开发起来easy多了。这里介绍下material design里一个很重要的控件:CoordinatorLayout,以及配合其子view的一些用法。我们在创建Activity的时候,有一个Ac
2016-09-18 11:37:31 2967
原创 Android中的线程池简介
Android中的线程池的概念来源于Java中的Executor,Executor是一个接口,其真正的实现类是ThreadPoolExecutor。ThreadPoolExecutor提供了一系列的参数来配置线程池,通过不同的参数来创建不同的线程池。在了解具体的线程池之前,我们先大概了解一下ThreadPoolExecutor的概念。ThreadPoolExecutor ThreadPoolEx
2016-09-08 01:14:27 444
原创 Android消息机制解析——Handler
日常开发的过程中,我们经常会使用到hander,handler是Android中消息机制的上层接口,使用过程很简单方便,通过handler我们可以轻松的将一个任务切换到另外一个线程中去执行,通常我们会在子线程中使用handler,将UI操作切换到主线程去执行。handler概述Handler的运行,还需要MessageQueue和Looper,还有ThreadLoacl。MessageQueue用
2016-09-05 00:17:31 444
转载 使用DiffUtil高效更新RecyclerView
本文转自:http://blog.chengdazhi.com/index.php/231?hmsr=toutiao.io&utm_medium=toutiao.io&utm_source=toutiao.ioDiffUtil是recyclerview support library v7 24.2.0版本中新增的类,根据Google官方文档的介绍,DiffUtil的作用是比较两个数据列表并能计算出
2016-09-01 10:37:21 1268
转载 Android 4.4以上获取图片URI格式不同导致getContentResolver返回null
Android 4.4以上获取图片URI格式不同导致getContentResolver返回null 今天在实现用户头像选择裁剪功能时,虚拟机裁剪没问题,实机却调用不了系统
2016-08-31 17:57:26 896 1
转载 Android、iOS 源码解析,实时滤镜处理等
本文转自:http://b.codekk.com/detail/Trinea/Android%20iOS%20%E6%BA%90%E7%A0%81%E8%A7%A3%E6%9E%90%E5%8F%8A%E5%AE%9E%E6%97%B6%E6%BB%A4%E9%95%9C%E5%A4%84%E7%90%86Android、iOS 源码解析14 年终新建了《Android 开源项目源码解析》的协作项目
2016-08-30 11:15:50 1162
转载 Glide 不能说的秘密
本文转自:http://android.jobbole.com/84454/Glide简介An image loading and caching library for Android focused on smooth scrolling 一个专注于流畅滑动的图片加载和缓存库 优势其实现在,图片加载和缓存的库已经超级多了,Glide是目前谷歌官方推荐的加载库,它有一个比较牛的特点就是支持GI
2016-08-30 11:06:17 439
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人