自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 收藏
  • 关注

原创 鸿蒙踩坑记之一招解决等待多个并发结果

鸿蒙NEXT的API还不算完善,需要每个开发者的参与,发现问题,提出问题,鸿蒙开发人员才能更好的解决问题。如果您也是鸿蒙开发者,有其他更好的解决方案,欢迎评论区交流 ,互相学习,互相成长!

2024-04-02 17:12:43 338

原创 深入解读OKhttp五大拦截器之RetryAndFollowUpInterceptor

Okhttp的封装了一些列请求所需要的参数,不管是同步请求还是异步请求最终都会经过五大拦截器的处理才能得到服务器返回的请求结果。本篇文章主要讲解Okhttp五大拦截器的重试重定向拦截器的作用。RetryAndFollowUpInterceptor拦截器作为OKhttp的第一个默认拦截器,主要作用是当客户端网络请求失败时或目标响应的位置发生改变时调用。

2024-03-02 15:15:02 470

原创 Android自定义View实现两种二维码扫描效果

最近在开发新项目时,使用了扫描二维码的功能,一般扫描二维码的效果是一条横线从上到下循环移动,这次却换成了网格图片。这里通过调用postInvalidateDelayed 不停延迟绘制图片来实现扫描图的移动效果。绘制扫描线使用了canvas.drawBitmap 方法 ,通过裁剪显示位置绘制扫描图片。首先定义正方形扫描框矩形的位置,这么默认使用屏幕中心的位置。通过上面定义的扫描框矩形,绘制扫描框的边框线。除正方形扫描框之外的背景颜色。扫描框四个边角线的宽度。扫描框四个边角线的长度。扫描框四个边角线的颜色。

2024-01-17 14:49:30 438

原创 Flutter之解决Window上项目无法运行到GoogleChrome上

最近在做一个简单的web项目,想尝试使用Flutter来实现,毕竟一套代码多端可以使用。在开发过程中,想在谷歌浏览器上看看实现的效果。选择Chrome(web),然后运行项目。大概的意思就是端口不对,无法打开。网上给的解决办法也是五花八门,但是效果甚微。这里提供一个终极的解决办法,一劳永逸。只需要配置一行代码。如果遇到相同问题的同学,可以试试,亲测有效。

2023-09-26 11:56:19 218

原创 Android进阶之网易云插件化换肤实现方案

大概是在2016年接触换肤功能,那时候接触的换肤方案实现起来比较繁琐,性能比较低。通过发送通知动态设置资源文件,图片,文字颜色等相关属性。随着技术的不断发展,越来越多的高性能换肤方案涌现出来,今天为大家详细介绍一种高性能,低侵入性的插件化换肤方案。

2023-09-18 09:14:31 243

原创 谷歌官方推荐的MVI基本使用

近年来,谷歌的应用框架不断推陈出新,从MVC,MVP,MVVM,到如今官方推荐使用的MVI架构。作为开发者时刻关注着技术的更新迭代,毕竟还是要靠技术吃饭。今天抱着学习的态度,我们一起了解一下Android架构的演进史以及MVI到底有什么优势值得让谷歌官方推荐使用。篇幅较长,请耐心阅读。

2023-09-13 10:12:22 255

原创 Glide源码解析-四级缓存

Glide是一个优秀的图片加载框架,支持多种数据源,功能强大,性能高

2023-09-12 10:24:31 165 1

原创 禁止指令重排序还有什么方法能够实现

回答这个问题之前,先搞清楚什么是指令重排序,为什么要禁止指令重排序,了解出现问题的原因,才能对症下药,从根本上解决问题。

2023-08-04 16:19:30 153 7

原创 Handler消息机制之epoll机制

在pollOnce中通过pollInner最终调用到epoll_wait,至此可以得出,Java层的nativePollOnce最终调用到JNI层的epoll_wait方法,并在在分析的过程中发现,JNI里面也有Looper。其他Java层的线程最终都是通过JNI调用pThread(感兴趣的同学可以查看JNI源码),对应的JNI也有和Java类名一样的线程相关类。应用程序中的任何操作包括:用户的点击事件,触摸事件,页面跳转等等,都会作为Message进入消息队列,最后被Handler处理。

2023-08-01 11:24:33 288 2

原创 网络编程之DNS域名解析

DNS 又称域名系统 (Domain Name System) 它将域名和IP地址相互映射成一个分布式数据库。使人们更加方便的访问互联网。

2023-07-27 14:43:22 97 1

原创 RecyclerView 之自定义LayoutManager实现探探效果

RecyclerView通过添加自定义LayoutManager实现类似探探首页的效果。RecyclerView的宽度设置为屏幕宽度。即 android:layout_width="match_parent"。@Override@Override//获取item个数//记录最后一个item位置//默认展示4个item}else {//重新布局item位置i < count;

2023-07-26 10:32:20 152 1

原创 Android自定义View之头部悬浮吸顶效果

今天介绍一种比较简单的RecyclerView头部悬浮吸顶效果的实现方式,通过自定义RecyclerView的ItemDecoration分割线即可实现,不需要其他辅助类。

2023-07-24 15:23:52 566

原创 Android源码剖析之LeakCanary源码解析

LeakCanary是一个开源的内存泄漏检查工具,使用简单,主要用来监测Activity和Fragment是否发生内存泄漏。如果发生内存泄漏,直接以引用链的形式展示出造成内存泄漏对象

2023-07-19 11:23:49 145 2

原创 Android系统启动流程源码解析

当Android手机从按下开机键时,屏幕点亮,到系统桌面的显示,整个过程系统是怎么启动的?下面我们一起深入源码来看一下。

2023-07-12 16:14:11 682 3

原创 Android-ThreadLocal并发安全与内存泄漏原理详解

看了本文你将会从学习到ThreadLocal是如何实现线程隔离的?为什么ThreadLocal会造成内存泄露? 如何解决?

2022-09-08 17:21:23 1688 2

原创 Android屏幕适配-宽高限定符,SmallestWidth,今日头条适配对比

前言屏幕适配一直作为Android开发中的痛点,对于开发者来说,适配形色各异的手机屏幕确实很头疼,今天小编就目前主流的三种屏幕适配方法进行详细讲解,希望能给大家带来更好的选择。一、屏幕适配是什么?由于安卓系统的开放性,不同的厂家都可以根据自己的需要修改Android系统,手机屏幕尺寸也各不相同,对于用户来说可以有不同的选择,但是对于软件开发者而言确实很头痛,一个软件需要同时适配不同尺寸的屏幕,确保给用户带来更好的体验。二、主流适配1.宽高限定符适配宽高限定符适配也可以叫屏幕分..

2020-11-10 11:45:33 1214 2

原创 Android源码分析之Handler消息机制

文章目录前言 一、pandas是什么? 二、使用步骤 1.引入库 2.读入数据 总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考一、Handler是什么?示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。二、Handler包括哪些部分1...

2020-10-10 11:34:42 86

原创 Git提交代码踩坑-真香

搞开发的同志们都知道git的强大,由于本人是Android开发,所以本文主要讲述在安卓开发中git命令行提交代码的使用。AndroidStdio非常优秀,只要在AS(AndroidStdio)中装入git插件,然后一顿神操作就能把新创建的项目上传到代码服务器中(由于太常用这里就不介绍AS中怎么使用git插件了)。在线上代码管理网站随便注册一个(公司要求码云)。然后就开始创建项目,在码云上创建仓...

2020-03-29 09:59:09 298

原创 Android面试必问的Activity的启动模式

很多时候在面试过程中或者在日常的开发过程中,大多数都会涉及到activity的启动模式.activity的启动模式一共有四种:standard(标准模式),singletop(栈顶复用模式),singletask(栈内复用模式),sinlginstance(唯一实例模式).1.standard.标准模式 activity的默认模式就是standard模式.在这个模式下,当我们启动一个ac...

2019-04-15 16:25:15 115

原创 Android面试必问的设计模式之单例模式详解

每次面试中都会遇到设计模式的问题,特别是单例模式在日常开发中的应用场景.以前就是知道有这个模式,没有深入的了解,今天正好学习了解一下.单例模式即在项目中提供唯一可访问当对象.只有一个对象被使用,实现了对象的重复使用.1.饿汉式/* 饿汉式 */public class SinglePattern { private static SinglePattern single...

2019-04-12 11:25:28 226

原创 Android自动隐藏状态栏与导航栏实现沉浸式

Android实现全屏,上拉或者下滑让状态栏与导航栏显示出来,不操作一段时间会自动隐藏;@Overridepublic void onWindowFocusChanged(boolean hasFocus) { super.onWindowFocusChanged(hasFocus); if (hasFocus &amp;&amp; Build.VERSION.SDK_IN...

2018-12-18 11:17:17 1038

原创 Windows电脑使用git上传带码云遇到的坑(AndroidStdio)

由于公司需要代码上传带码云,我便使用自己的笔记本进行代码的上传(以前使用的都是Mac)。 1.第一步下载Git插件(插件地址:链接:https://pan.baidu.com/s/1-4ucqw1HSIPZKnKAwJyZSQ。提取码:03ub)。2.安装插件。(我是直接点next)3.将AndroidStio与Git关联。(选择版本控制工具)4.先在Androidstdio上VC...

2018-11-15 11:17:30 145

空空如也

空空如也

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

TA关注的人

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