自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(148)
  • 资源 (6)
  • 收藏
  • 关注

原创 Java中的锁

但是,volatile 变量的写操作和读操作之间是可以被中断的,这意味着在读取或者修改 volatile 变量的过程中,其他线程可能会对这个变量进行修改。volatile 关键字本质上是一种内存屏障,它可以确保在 volatile 变量写操作和读操作之间不会发生重排序,这样就可以保证对 volatile 变量的修改能够立即对其他线程可见。如果想要保证原子性,可以使用 Java 并发包中的 AtomicXXX 类,这些类都提供了原子操作的方法。原子性是指一个操作是不可中断的,要全部执行完成,要不就都不执行。

2023-12-04 23:02:59 204

原创 cordova详解

优势原理。

2023-12-04 22:19:22 190

原创 多线程和线程池

当有新任务来的时候,先看看当前的线程数有没有超过核心线程数,如果没超过就直接新建一个线程来执行新的任务,如果超过了就看看缓存队列有没有满,没满就将新任务放进缓存队列中,满了就新建一个线程来执行新的任务,如果线程池中的线程数已经达到了指定的最大线程数了,那就根据相应的策略拒绝任务。当缓存队列中的任务都执行完了的时候,线程池中的线程数如果大于核心线程数,就销毁多出来的线程,直到线程池中的线程数等于核心线程数。此时这些线程就不会被销毁了,它们一直处于阻塞状态,等待新的任务到来。

2023-12-04 21:59:39 113

原创 18、Android 组件化

Android 组件化架构设计从原理到实战-CSDN博客Android组件化架构解析总结_android 组件化架构_PalmerYang的博客-CSDN博客

2023-11-28 21:29:37 214

原创 Android系统分析

(2)system_server进程接收到请求后,会检查要启动的Activity所在的进程是否已经启动了,如果已经启动了就打开,如果未启动则采用Socket IPC向Zygote进程发出创建APP进程的请求;(1)点击桌面APP图标,Launcher进程采用Binder IPC的方式向system_server进程的AMS(ActivityManagerService)发起startActivity的请求。APP进程在接收到请求后,创建目标Activity,进入Activity的生命周期。

2023-11-28 14:42:03 532

原创 MMKV存储

MMKV概览 - 简书

2023-11-23 18:21:42 65

原创 8、Android 系统悬浮窗实现

悬浮窗

2022-09-10 23:25:37 1028 1

原创 71、跑马灯

跑马灯

2022-08-21 10:19:58 558

原创 70、滑动冲突

滑动冲突

2022-08-21 10:09:51 470

原创 69、Android获取每日运动步数

Android获取每日运动步数

2022-08-16 21:31:00 4090

转载 2、android studio+jacoco获取代码覆盖率

jacoco覆盖

2022-08-10 20:48:17 744

原创 二、Robolectric

Robolectric单元测试

2022-08-02 16:51:53 322

原创 1、Android实现打开文件

文件预览

2022-07-12 15:34:13 1974 1

原创 1、Android单元测试

一、黑盒测试与白盒测试区别黑盒测试不考虑内部的逻辑结构和具体运作,依据程序的需求规格说明书,检查程序的功能是否符合它的功能说明要求,检测输出结果是否符合白盒测试与黑盒相反,把测试对象看作一个透明的盒子,测试时关注程序内部的逻辑结构及有关信息,检验程序中每条通路是否都能按预定要求进行正确工作主要区别主要是关注对象不一样。黑盒测试主要针对的是程序展现给用户的功能,多用于功能测试,白盒测试主要针对的是程序代码逻辑,多用于单元测试。简单来说,黑盒测试最终展示功能,白盒测试后台代码程序。二、单元

2022-05-04 21:39:57 1122

原创 1、Android架构

Android MVP架构详解_aihuier的博客-CSDN博客_android mvp架构Android MVP 架构介绍_青冘的博客-CSDN博客_android mvpMVP框架——Android_山竹CX的博客-CSDN博客Android MVP(三)内存泄漏分析与动态代理_威威貓的博客-CSDN博客_android mvp内存泄漏Android MVP(二)BaseMVP 基础框架设计_威威貓的博客-CSDN博客Android MVP框架搭建与使用(含源码)_初学者-S...

2022-04-27 19:34:54 1128

原创 3.2、关于Support for password authentication was removed on August 13, 2021报错的解决方案

关于Support for password authentication was removed on August 13, 2021报错的解决方案_锐湃的博客-CSDN博客Git 更新后不再支持密码输入【解决方案】 Support for password authentication was removed on August 13, 2021. Please use a personal access token instead. - 未配妥剑,已入江湖 - 博客园git remot..

2022-04-27 18:39:46 1872

原创 1.5、Webview SSL 自签名安全校验解决方案

​​​​​​Android Webview SSL 自签名安全校验解决方案 - 走看看Android APP之WebView校验SSL证书的方法 - 云+社区 - 腾讯云android webview 添加证书,Android webview手动校验https证书(by 星空武哥)_陈舟医生的博客-CSDN博客WebView域名劫持问题以及自签名证书验证方式_沉睡的雄狮的博客-CSDN博客Android WebView https白屏、Http和Https混合问题、证书配置和使用_一只农民.

2022-04-26 19:48:35 959

原创 4、Mac下的谷歌浏览器输入不安全网址点高级后没有继续前往链接解决办法

Chrome您的连接不是私密连接,解决办法_小哈里的博客-CSDN博客_您的连接不是私密连接解决办法:在此页面任意位置点一下鼠标,然后键盘建入thisisunsafe搞定解决,复制粘贴是没用的,需要手动键入。...

2022-04-25 11:06:42 2584

原创 3、Mac下的Go2Shell的安装与配置

Go2Shell的安装与配置_miaocuilin的博客-CSDN博客_go2shell新版Go2Shell 安装详解 - 走看看go2shell安装与使用 - 爱码网Goto2Shell工具安装教程 - 简书一、下载Go2Shell - ZipZapMac因为APP Store版本的Go2Shell已经不维护了,我们直接去官网下载。点击FREE DOWNLOAD下载并安装到Application里即可。二、配置安装好后会弹出这个么弹窗,因为我们已经安装了比mac自带

2022-04-22 22:23:30 1621

原创 2、mac上安装配置git

Mac上Git安装与配置_Chang_dian的博客-CSDN博客1、git安装Mac上 Git下载有两种方式1. 直接安装官方下载安装包 ,https://git-scm.com/download/mac请单击此处click here to download manually跳转到下载页面,等待五秒钟后就会跳出下载文件目录,如果没反应的话直接复制该网址https://sourceforge.net/projects/git-osx-installer/单击Download.

2022-04-21 20:33:54 12733

原创 1、mac:jdk 8下载和安装步骤

1、下载JDK1.8的安装包Java Downloads | Oracle2、安装JDK1.81)下载的安装包jdk-8u281-macosx-x64.dmg、双击pkg,按提示流程安装:2) 安装成功3.确定jdk安装完整按照完成以后、我们可以查看JDK的安装路径、在资源库/Library下面会出现一个Java的文件夹、目录层级如下:/Library/Java/JavaVirtualMachines/jdk1.8.0_281.jdk1)打开终端窗口按快捷键c

2022-04-20 21:37:07 17954 3

原创 4、Android Studio自带代码托管工具git使用教程

感觉比较详细的某博主写的初级git:AndroidStudio中使用Git-初级篇(一)——从github上传和下载项目(by 星空武哥)_星空武哥的博客-CSDN博客简书的一个:AndroidStudio第一次提交项目代码到git服务器/github - 简书首次Clone项目1、在Android Studio中设置Git打开“File”—>“settings”,得到如下图:点击“Test”后弹出Git版本,说明配置成功,如果你的Android Studio已经配置过,.

2022-04-19 08:53:20 2907

原创 1、Android 热修复与插件化

1、class&dex文件详解1)class文件结构深入解析(生成、执行、文件结构)1.什么是class文件能够被jvm识别、加载并执行的文件格式。除了java语言其他语言也可以生成class文件,如图:2.生成class文件1.通过IDE自动帮我们build2.手动通过javac命令去生成class文件3.通过java命令去执行class文件3.class文件作用记录一个类文件的所有信息4.class文件结构1)一种8位字节的二进制流文件.

2022-03-31 23:31:58 2515

原创 13、Jetpack 之ViewBinding和DataBinding

ButterKnife 替代计划 - 47Log | 47LogAndroid Jetpack 之ViewBinding和DataBinding_黄林晴的博客-CSDN博客_viewbinding和databindingKotlin 插件的落幕,ViewBinding 的崛起 - 掘金竟然如此简单,DataBinding 和 ViewBinding_hi-dhl的博客-CSDN博客_databinding和viewbinding...

2022-03-25 22:08:45 2047

原创 12、Jetpack架构组件

完美起航-Androidjetpack最佳总结和实践1、LifecycleAndroid Jetpack组件Lifecycle基本使用和原理分析_AboBack的博客-CSDN博客2、ViewModelAndroid Jetpack架构组件-ViewModel的使用及原理_小图包的博客-CSDN博客3、LiveDataAndroid Jetpack组件LiveData基本使用和原理分析 - 知乎Jetpack架构组件 — LiveData与ViewModel的使用 - 掘金..

2022-03-24 16:39:59 1886 1

原创 11、LinkedList源码分析

Java中的LinkedList的方法的应用_K.Sun的博客-CSDN博客_java中linkedlist方法deque概述 - 钟齐峰 - 博客园LinkedList 源码分析(JDK 1.8)_慕课手记百度安全验证LinkedList源码解析(基于JDK1.8)_Lframe的博客-CSDN博客_linkedlist源码分析...

2022-03-23 12:42:13 1527

原创 5、Koltin相关面试题

kotlin面试题_码农乐园的博客-CSDN博客_kotlin面试题Kotlin协程是个什么东西? - 掘金Kotlin 如何在 Android 上运行?就像 Java 一样,Kotlin 代码也被编译成 Java 字节码,并在运行时由 Java 虚拟机即 JVM 执行。当一个名为 Kotlin 的文件Main.kt被编译后,它最终会变成一个类,然后生成该类的字节码。字节码文件的名称将是MainKt.class,并且该文件将由 JVM 执行。用val和const声明变量有什么区别?..

2022-03-22 16:06:29 1353 1

原创 4、Android 主流数据库框架

百度安全验证Android使用Room数据库框架_wzl_show的博客-CSDN博客_android数据库框架roomAndroid:ROOM数据库框架 - 知乎Android数据库框架——Room_zyzoeshanghai的博客-CSDN博客_android 轻量级数据库框架安卓轻量级数据库框架-GreenDao3.2.2集成方案_BY-91的博客-CSDN博客_android轻量级数据库框架带大家熟悉Android全新的Room数据库框架_徐福记456的博客-CSDN博客_roo

2022-03-21 17:39:47 2127

原创 2、Android底层机制

一、Java的类加载机制深入探讨Java类加载机制 - 小杜比亚 - 博客园类加载机制-深入理解jvm - 简书

2022-03-17 17:27:17 897

原创 9、RxJava源码分析

Introduction · ReactiveX文档中文翻译https://github.com/ReactiveX/RxJavaRxJava3框架的使用Android响应式编程——RxJava3框架的使用(一)_e电动小马达e的博客-CSDN博客_rxjava3Android响应式编程——RxJava3框架的使用(二)_e电动小马达e的博客-CSDN博客Android响应式编程——RxJava3框架的使用(三)_e电动小马达e的博客-CSDN博客_rxjava3Android响应.

2022-03-17 16:18:12 801

原创 8、Glide源码分析

源码解析:Glide源码分析(一),基本加载代码流程 - 简书​​​​​​Glide源码分析(二),基本加载类图介绍 - 简书Glide源码分析(三),Engine加载资源过程 - 简书Glide源码分析 - 简书Glide源码分析(一) - 云+社区 - 腾讯云深入解析Glide源码_伯努力不努力的博客-CSDN博客_glide源码分析https://my.oschina.net/u/4269975/blog/4560461https://cloud.tencent.com

2022-03-16 17:55:40 533

原创 1、如何抓取APP测试中崩溃的log日志

如何抓取APP测试中崩溃的log日志 - Kazan - 博客园Android手机崩溃日志查看_rza1314的博客-CSDN博客

2021-11-02 10:30:15 1840

原创 9、SwitchHosts使用和配置

https://blog.csdn.net/zhaoyonghenghcl/article/details/8501360

2021-10-27 12:30:59 3023

原创 312、android中protobuf使用

protobuf 是二进制存储所以比 json传输更快 更易于跨平台开发https://github.com/protocolbuffers/protobufhttps://github.com/protocolbuffers/protobuf1. 谷歌官方推荐方法,使用插件根据.proto文件自动生成java实体类Android项目使用Protobuf教程(结合Retrofit+RxJava及HttpURLConnection使用)_大力哥的博客-CSDN博客ProtoBuf在Androi..

2021-10-14 14:13:16 400

原创 311.1、Google Analytics4(分析)集成到Android

1. 集成步骤https://developers.google.com/analytics/devguides/collection/android/v4

2021-09-29 17:47:54 380

原创 314、android studio查看项目的依赖树

https://www.cnblogs.com/songjianzaina/p/11286926.htmlgradlew 模块名:dependencies //查看单独模块的依赖gradlew :app:dependencies --configuration compile //查看项目的编译依赖

2021-09-03 18:10:34 740

原创 315、Android Studio+git查看文件修改历史

1、单个文件的提交历史查看https://blog.csdn.net/qq_37475168/article/details/80774346在AS中打开目标文件,而后点击上面VCS->Git->Show History2、查看某一行代码提交的记录https://blog.csdn.net/weixin_42362496/article/details/115563572...

2021-09-03 18:09:08 1552

原创 313、自定义实现的X509TrustManager子类,安全漏洞

借鉴:https://blog.csdn.net/SCHOLAR_II/article/details/107616324https://www.apiref.com/java11-zh/java.base/javax/net/ssl/X509TrustManager.htmlhttps://juejin.cn/post/6844903445040742408#heading-11https://blog.csdn.net/zhouxinxin250/article/details/811649

2021-09-02 20:26:14 1463 1

原创 1.4、获取Android User-Agent和WebView User-Agent

https://www.jianshu.com/p/afae68974ee0

2021-08-23 20:20:03 1893

原创 2、Kotlin基本使用

1、Kotlin中Map使用https://www.jianshu.com/p/9dd5ddf0133a2、Kotlin中字符串拼接Log.i("ss", "user_pseudo_id:$user_pseudo_id")

2021-08-18 10:55:54 409

commonlibrary.zip

生成本地maven的aar包

2021-03-18

Testmaven.zip

本地文件夹私有库

2021-03-18

MyApplication.zip

使用自己制作的gitlab私有库

2021-03-18

FirstMaven.zip

借助wagon-git简单制作依赖库(gitlab为仓库)

2021-03-18

UpdateDialog.java

android版本更新下载与安装,检测申请读写权限,检测跳转开启通知栏权限,本地流下载,判断android7.0去安装app

2020-03-25

NotificationPermissionManager.java

通知栏权限管理类(判断通知栏权限是否开启,跳转通知栏权限设置界面) 1.判断Android 4.4(API19)以上通知栏权限是否开启,4.4以下默认打开 2.(Android 4.4(API19)以下没有AppOpsManager这个类,因此此方法在Android 4.4以下运行会导致应用crash) 3.(除了反射方法来获取通知栏权限外,也可以使用support包提供的方法(也是官方推荐的方法,不过需要比较新的support.v4包): NotificationManagerCompat.from(this).areNotificationsEnabled();)

2020-03-25

空空如也

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

TA关注的人

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