自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(36)
  • 资源 (4)
  • 问答 (1)
  • 收藏
  • 关注

转载 Glide使用进阶篇

Glide作为最主流的图片加载框架,开放许多可以定制化操作的接口。

2021-06-23 15:34:04 698

原创 Glide缓存机制和与Picasso的区别

Glide使用方法内存缓存LruCache弱引硬件缓存DiskLruCache

2021-06-22 17:09:40 373 1

原创 自定义View的绘制过程

Android的默认布局是ReleativeLayout,所有使用LinearLayout的地方都可以使用ReleativeLayout代替,以减少LinearLayout的层级嵌套。

2021-06-15 20:04:43 729

转载 App的启动过程

App的启动过程概述ActivityThreadattach方法App的启动过程APP的启动过程为什么创建几个进程,Application会被创建几次终究还是要自己写一遍才能记忆深刻,事实证明好记性不如烂笔头真的非常有道理,本文转载自https://blog.csdn.net/hzwailll/article/details/85339714这篇文章,大神的描述已经非常清晰,但是自己在阅读学习的时候,仍然有一部分不明确,本文在转载原文的基础上,进行了再解释。概述从点击桌面应用图标,到应用显示这个过程

2021-04-22 11:09:31 771 1

原创 二叉树遍历与java实现

这四种遍历示例: A / \ B C / \ / \ D E F G层序遍历结果是: ABCDEFG前序遍历结果是: ABDECFG中序遍历结果是: DBEAFCG...

2021-04-16 17:57:05 2219

原创 java中的数据集合HashSet源码解析

java中的数据集合HashSet源码解析set的特点HashSet的底层实现hashset去重机制set的特点set中不可以放置重复元素,会自动去重set不是线程安全set插入和删除比ArrayList更快HashSet的底层实现首先看hashSet的定义,hashset继承自serializable接口,表明他可以实现序列化public class HashSet<E>extends AbstractSet<E>implements Set<E>,

2021-03-29 11:16:55 156 1

原创 java中的数据结构之HashMap学习

java中的数据结构之HashMap学习equal与hashcodeequals与hashcode的源码为什么hashmap中作为键值的类要重写hashcode和equals方法Integer 与String等不可变得类什么是哈希冲突哈希算法哈希冲突的解决办法hashmap原理使用的hash算法数组链表结构hashtableConcurrentHashMapspraseArray本文仅仅是对hashmap中的一些机制进行讲解,不做具体的使用分析,中间会牵扯一些源码。equal与hashcodeequa

2021-03-26 16:43:15 217

原创 java中的数据集合--List源码分析

java中的数据集合--List源码分析CollectionListArrayListIterator方法add方法与ArrayList的扩容LinkList分析Collection先看一下collection的解释说明部分:/ * * @param <E> the type of elements in this collection * * @author Josh Bloch * @author Neal Gafter * @see Set * @see

2021-03-23 16:14:11 233 1

原创 Binder、AIDL、远程服务结合源码学习记录

Binder与AIDL结合学习记录什么是binderbinder中的transact和onTransact的区别什么是AIDLAIDL中的stub和proxy远程服务与本地服务本篇文章为自己学习binder过程中的知识总结和疑惑的解答,有什么错误请批评指正,互相进步。什么是binderBinder主要作用是进程间通信,其他几种进程间通信方法有文件系统、socket、管道、Intents、ContentProviders、Messenger、Binder。Android系统分为三层,从上往下分别是ap

2021-03-17 19:08:12 1167 4

原创 Handler源码之再解析

Handler之源码再解析LooperLooper.prepare()新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入handler用法已经用法和内存泄漏已经有很多博客写的很好,再次不在赘述,此处仅仅是自己看别人博客时感觉

2021-03-04 19:55:49 161 1

原创 AsyncTask源码分析

此文章从源码和方面分析AsyncTask,具体使用和内存泄漏不做分析,网上关于使用方法一搜一大堆,不在赘述。1、AsyncTask作为一个android中实现多线程常见的方法,定义如下:一个Android已封装好的轻量级异步类 属于抽象类,即使用时需 实现子类2、话不多说,直接上源码public abstract class AsyncTask<Params, Progress, Result> { private static final String LOG_TA.

2021-03-01 10:33:52 2449 3

原创 电脑网页截长屏最简单的方法

搜素截取长网页的方法,很多教程说的都太复杂,直接用扣扣截图可以很方便的搞定打开任何一个扣扣对话框,然后点击截图(可以用ctrl+alt+a代替),截好之后,显示下面区域,然后点击下图标红框的地方,既可以完成长截屏,就是这么好用~~~·...

2021-01-28 15:31:11 3709 1

原创 android studio本地配置gradle遇到的坑以及解决办法

在百度查了很久使用好几个办法都没有解决问题,亲测不可用方法:下载gradle放到dists目录或者在gradle-wrapper.property文件中更改distributionUrl为本地目录路径,并且在project structure中设置gradle为本地目录路径,均不好用亲测可用方法:坑一:maven仓库 repositories {// m...

2019-10-08 15:08:09 2011

原创 收藏一篇可以查看apk文件各种信息的好文,包括dex文件的方法数统计

https://blog.csdn.net/free555/article/details/80872464如果侵权请及时通知~

2019-09-18 10:06:17 212

原创 android studio中Attach Debugger to Android Process找不到进程的问题解决办法

在使用android studio断点调试的时候,在DDMS中找不到进程,可以试别手机,这个时候需要关闭android studio 然后在terminal中输入 ps -ef | grep adb 找到进程号,然后输入 :kill -9 进程号 重新打开android studio 这个时候就有了...

2019-09-17 18:36:55 9900

转载 Ubuntu环境变量配置

使用Ubuntu 进行开发绕不开的就是环境变量的配置,由于Linux系统严格的权限管理,造成Ubuntu系统有多个环境变量配置文件,如果不了解其调用顺序,很有可能遇到配置了环境变量,而没有其作用的问题。本文将介绍Ubuntu Linux系统的环境变量。一、Ubuntu Linux系统环境变量配置文件Ubuntu Linux系统环境变量配置文件分为两种:系统级文件和用户级文件,下面详细介绍环...

2019-01-24 18:51:54 16856

原创 android P 小米八,weview闪屏问题解决

     本文主要提供一些思路,前两种方案在网上搜索具体的实施方法,这里不在赘述。      解决这个问题的方法,能查到的主要有两种:   (1)第一种是在调用webview的时候关闭硬件加速,但是这样做会造成webview卡顿,不可取   (2)第二种是在view中重写doTabChanged(),这个方法,然后可以解决切换屏幕的时候闪屏问题,但是这个解决办法与我的问题不符,我这个不...

2019-01-23 14:10:42 2242 2

原创 java中praseLong出现溢出问题解决

1.工作中遇到的小问题记录一下。    利用praseLong转化String类型的数字字符串的时候如果超出了20位,会出现溢出错误,解决办法是使用BigInterger,需要到如math类。    为什么不能超过20位呢?因为2的64次幂的结果就是一个20位的整数,所以praseLong可以转化的最大数据不能超过这个数。...

2018-10-09 18:42:35 2430

原创 adb server didn't ACK daemon not running,starting it now on port 5037 *

1、错误原因是端口被占用,解决办法是找到这个端口,并关闭即可2、查找5037端口netstat -ano | findstr  “5037”3.找到pid是13924的并关掉4、启动adb  ...

2018-09-07 11:50:57 182

原创 app加固

1、今天遇到一个坑,记录一下,详细的原理以后有时间补充    app加固时会进行拆包,合作方会向包中添加内容,破坏秘钥结构,所以加固之后需要重新添加秘钥。 ...

2018-09-03 18:59:30 2144 1

原创 git使用-上传、下载、新建分支

(1)push 流程:git branch 产看分支情况    git checkout -b AB-65  新建一个dev分支        git status 查看状态    git add . 将代码添加到缓存    git commit -m "AB-65:sp yinyu"    如果出现报错,添加一下自己的邮箱和用户名    git config --globa...

2018-09-03 18:56:02 458

原创 Linux下的ps命令

首先了解一下ps命令执行后的各项参数,Android本身用的是Linux内核,所以ps指令参数大同小异。1.进入Android手机的shell模式各项参数如下:USER:  进程的当前用户;PID   : 毫无疑问, process ID的缩写,也就进程号;PPID  :process parent ID,父进程IDVSIZE  : virtual size,进程虚拟地址空间大小;RSS    :...

2018-07-04 18:39:26 14470 1

转载 ContextCompat.checkSelfPermission, NoSuchMethodError错误

  在targetSdkVersion小于23(Android M)的时候,ContextCompat.CheckSelfPermission 和Context.checkSelfPermission方法都不能正常工作并且始终返0(PERMISSION_GRANTED),即使你的应用运行在Android6.0(API 23)的设备上       使用PermissionChecker.checkS...

2018-06-26 09:41:01 1699

原创 解决:You need to use a Theme.AppCompat theme (or descendant) with this activity

1.问题如下:解决办法:    将MainActivity改为继承自Activity即可,但是这样修改可能无法兼容老版本样式,暂时先用这个方法解决,后续在补充

2018-06-13 18:21:27 919

原创 VMware+Ubuntu16.0.4系统强制关机重启后进不去虚拟机问题解决

    今天死机然后强制关机之后,重启虚拟机,出现下面错误,查询网络,解决办法记录一下解决办法,找到你的虚拟机所在目录,比如D:\Virtual Machines\Windows XP Professional,找到.lck结尾的文件夹,删除它们,最后重启虚拟机。问题解决。...

2018-05-29 10:05:41 5302

转载 ubuntu16.0.4网络连接错误和jdk1.8环境配置

  一、ubuntu16.0.4不能上网    这个问题的办法是从百度上面搜到的,搜索下面的网址,即可完美解决问题(1)点击编辑-》虚拟网络编辑(2)    弹出的对话框中,点击左下角“还原默认设置”,然后如果是灰色的,先点击“更改设置”赋予权限。然后就能上网了,如果还不行,那就重复这个动作就可以了。参考自:https://jingyan.baidu.com/artic...

2018-05-25 09:36:44 482

原创 在Ubuntu16.0.4下创建Androidstudio桌面快捷方式

创建、编辑Studio.desktop文件1.1 在根目录下执行以下命令:通过sudo gedit /usr/share/applications/Studio.desktop的话1.2 输入以下内容:[javascript] view plain copy[Desktop Entry]  Name = Studio  comment= android studio  Exec=/home/zha...

2018-05-20 21:02:18 1796

原创 ubuntu16.0.4本地仓库(上传/更新)代码(到/从)github(中间的坑以及解决办法)

一、本地安装git1. 检查是否已经安装2.安装git3.出现这个问题说明有别的进程在apt-get解决办法:强制解锁4.执行安装中间有需要选择的地方直接输入 :y安装完成之后输入:git出现如上图则表示安装成功。5.生成公钥之后在 ~/.ssh/ 目录下可以看到 id_rsa 和 id_rsa.pub 两个文件。这两个就是 SSH Key 的秘钥对,其中,id_rsa 是私钥,不能泄露出去,id...

2018-05-13 16:23:24 3025 1

转载 http协议解析

1 http的操作过程    http协议定义了浏览器怎么想万维网请求万维网文档,以及服务器怎么把文档传给浏览器。从层次角度看HTTP是面向事务的应用层协议,它是万维网可以可靠地交换文件的重要基础(不仅传输跳转所必须的信息,也传送任何可以从互联网上得到的信息,如文本、超文本、声音、图片)。工作过程如下:    (1)浏览器发送请求,建立tcp连接(双向)    (2)浏览器发送HTTP请求报文  ...

2018-05-07 15:18:54 239

原创 Android多线程、多进程间的通信

   1、 操作系统的任务调度    在window和Linux操作系统中,任务调度采用时间片轮转机制,因为CPU执行效率非常高,内存执行效率比较低,为了提高CPU利用率,采用时间片轮转,就是一个任务执行一段时间之后强制暂停去执行下一个任务,每个任务轮流执行,被暂停的任务处于就绪状态,等待下一个属于它的时间片到来,这样每个任务都得到执行,而并发的意思就是多个任务同时执行。    并行:是指多个处理...

2018-05-07 13:00:13 554

原创 学习android中的Handler机制和由此引发的内存泄露以及解决办法

一、Handler机制以及使用方法         Handler、Looper、Message都是android的异步消息处理机制,异步消息处理线程启动之后,会进入一个无限循环体中,每循环一次从消息队列中取出一个消息,然后回调消息处理函数,执行完成之后,继续进行循环,如果消息队列为空,则线程会阻塞等待。 1   Looper作用:       创建一个MessageQueue,然后进入一个无限循...

2018-05-06 16:45:59 200

原创 获取十六进制的MAC地址并且转换为byte数组

1.把十六进制的Mac地址转换为byte数组输出(1)mac.java 中添加方法public void setMac(){ String source = Util.getMac(); byte[]SrcMac = new byte[6]; String[] strs = source.replaceAll(" ","").spilit(":"); for(int i = 0;i &lt; so...

2018-04-11 11:14:50 4814

转载 Android知识点记录(一)

                                                                小白日记 (一)     知识点一:getInstance方法和使用(转载自http://blog.sina.com.cn/s/blog_a5854e830102v8ll.html)    答:   在单例模式下使用 。    单例模式:所谓单例模式就是一个类有且只有一个...

2018-03-19 20:28:13 319

转载 android wifi界面根据信号强度排序

        作为一名小白,我没有大牛的技术,没有别人的聪慧,只希望自己孜孜不倦的学习,可以让自己每天都有提高。    今天学习到几个知识点不太理解,把自己查到的资料和例子记录下来,如有大神经过,欢迎指正。    知识点一:工具类Collections中静态方法sort的使用。    Collections是一个工具类,sort是其中的静态方法,是用来对List类型进行排序的,它有两种参数形式:...

2018-03-14 20:33:44 2271

原创 listview中alertdialog弹窗问题(activity ,fragment)

       今天在做一个点击WiFi列表,然后弹出一个alertdialog,语法正确,显示WiFi列表,但是点击之后直接退出,不显示alertdialog,语法没什么问题,后来问题解决,new alertdialog.build(acivity)这个方法里面的参数使用出错,最开始使用getapplaication()或和获取applicationcontext(), 后来改成mainactiv...

2018-03-02 13:42:14 670

原创 关于android studios新建目录不显示问题

再res下新建一个drawable_xhdpi目录,然后新建之后再res下没有显示,这是因为是在android 模式下,改为projected模式就会显示,另外这个目录的命名不能像我这样命名,应该是drawable-xhdpi,不能时下划线,应该是一个“减号”,不然会出错。

2017-12-24 16:19:28 3520 5

jdk-8u281-macosx-x64.dmg

在oracel需要注册下载,此处可以直接下载 jdk-8u281-macosx-x64.dmg

2024-03-29

jdk-22-macos-aarch64-bin.dmg jdk-22-macos-aarch64-bin.tar.gz

mac芯片下最新的jdk jdk-22-macos-aarch64-bin.dmg jdk-22-macos-aarch64-bin.tar.gz

2024-03-29

显示WiFi列表,刷新,添加图标,滚动条刷新之后停留在上一次滚动的位置

显示WiFi列表,刷新,添加图标,刷新之后滚动条停留在上一次滚动的位置。图标时自己瞎选的,只用更换一下你想要的图标就可以了~

2018-03-06

单片机的C语言应用

里面详细介绍了单片机的c语言应用,包含硬件讲解,c程序代码,对于想学习单片机和嵌入式入门的朋友非常实用。

2015-12-13

嵌入式概述

对嵌入式初学者有很好的启蒙,并且介绍了嵌入式的基础知识

2015-12-13

DSP原理及应用

DSP原理应用 本文对于初学者来说是一本很有用的工具书,书中对于DSP的原理及应用给与了非常详细的介绍,对读者的知识构架的建立以及对DSP的算法有一定的了解

2014-09-29

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

TA关注的人

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