老梁学Android&HarmonyOS
码龄8年
关注
提问 私信
  • 博客:99,921
    99,921
    总访问量
  • 49
    原创
  • 80,458
    排名
  • 513
    粉丝
  • 2
    铁粉
  • 学习成就

个人简介:不断学习中

IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:天津市
  • 目前就职: 神州数码软件
  • 加入CSDN时间: 2016-11-15
博客简介:

Hidanchaofan的博客

查看详细资料
  • 原力等级
    成就
    当前等级
    4
    当前总分
    511
    当月
    9
个人成就
  • 获得486次点赞
  • 内容获得12次评论
  • 获得524次收藏
  • 代码片获得221次分享
创作历程
  • 27篇
    2024年
  • 5篇
    2023年
  • 6篇
    2022年
  • 1篇
    2021年
  • 3篇
    2019年
  • 1篇
    2018年
  • 6篇
    2017年
成就勋章
TA的专栏
  • Android学习总结
    10篇
  • 四大组件
    7篇
  • View
    2篇
  • 动画
    2篇
  • 线程进程
    3篇
  • 资源
    1篇
  • HarmonyOS
    2篇
  • Studio使用小技巧与日常bug
    5篇
  • bug-日常积累
    6篇
兴趣领域 设置
  • 移动开发
    androidkotlin
  • HarmonyOS
    harmonyos
  • 软件工程
    性能优化
创作活动更多

仓颉编程语言体验有奖征文

仓颉编程语言官网已上线,提供版本下载、在线运行、文档体验等功能。为鼓励更多开发者探索仓颉编程语言,现诚邀各位开发者通过官网在线体验/下载使用,参与仓颉体验有奖征文活动。

368人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

展开说说:Android页面绘制流程源码解析

说到Android系统View的绘制流程,大家一定知道是分为测量(Measure)、布局(Layout)和绘制(Draw)三个阶段,这篇文章主要聊一聊在这三个步骤之前的源码执行流程,页面启动后是怎样通过代码执行这三个方法。
原创
发布博客 2024.07.14 ·
1030 阅读 ·
14 点赞 ·
0 评论 ·
14 收藏

展开说说:Android之View基础知识解析

View虽不属于Android四代组件,但应用程度却非常非常广泛。在Android客户端,君所见之处皆是View。我们看到的Button、ImageView、TextView等等可视化的控件都是View,ViewGroup是View的子类因此它也是View。但是现在我们把View和ViewGroup当成两个类来看待,ViewGroup可以容纳View和ViewGroup,但View不可以再容纳其他View或ViewGroup,这种容纳的关系可以一直延伸仿佛一棵大树,从内而外有了父子关系,因此有个概念叫做Vi
原创
发布博客 2024.07.13 ·
1413 阅读 ·
25 点赞 ·
0 评论 ·
22 收藏

展开说说:Android服务之实现AIDL跨应用通信

AIDL技术跨进程通信可以理解为是服务端和客户端之间的通信(IPC),定义Service的进程称为服务端,调用服务的进程就是客户端。
原创
发布博客 2024.07.09 ·
1010 阅读 ·
12 点赞 ·
0 评论 ·
18 收藏

展开说说:Android服务之bindService解析

前面两篇文章我们分别总结了Android四种Service的基本使用以及源码层面总结一下startService的执行过程,本篇继续从源码层面总结bindService的执行过程。本文依然按着是什么?有什么?怎么用?啥原理?的步骤来分析。bindService使用方法和调用流程都与startService时有很多相似之处,方便的话请先阅读上一篇《展开说说:Android服务之startService解析》。
原创
发布博客 2024.07.08 ·
2200 阅读 ·
13 点赞 ·
0 评论 ·
22 收藏

展开说说:Android服务之startService源码解析

通过上一篇文章我们掌握了Android四种的基本使用,本篇从源码层面总结一下startService的执行过程。本文依然按着是什么?有什么?怎么用?啥原理?的步骤来分析。
原创
发布博客 2024.07.06 ·
1125 阅读 ·
17 点赞 ·
0 评论 ·
8 收藏

展开说说:Android四大组件之Service使用

Service一定要开启子线程才可以执行耗时任务吗?不完全是吧。Service是Android系统中的四大组件之一,它是一种没有可视化界面,运行于后台的一种服务程序。属于计算型组件,用来在后台执行持续性的计算任务,重要性仅次于Activity活动。
原创
发布博客 2024.07.04 ·
663 阅读 ·
7 点赞 ·
1 评论 ·
9 收藏

谁说Android子线程一定不能更新UI

谁说的Android子线程一定不能更新UI,不用handler、View的post和Activity的runOnUiThread特定情况下一样可以再子线程更新UI。天下武功,唯快不破。先说一下结论,在Activity的onCreate方法执行入口创建子线程然后内部更新UI是可以正常更新的,不会抛异常发生闪退。但是,如果晚一会就不行了,前面加个1秒延时就会闪退。
原创
发布博客 2024.06.30 ·
1146 阅读 ·
15 点赞 ·
0 评论 ·
17 收藏

Android常用加解密算法总结

Android开发中对于数据的传输和保存一定会使用加密技术,加密算法是最普遍的安保手段,多数情况数据加密后在需要使用源数据时需要再进行解密,但凡是都有例外。下面从可逆加密、不可逆、不纯粹加密三种方式记录一下常见的加解密算法。加密技术包括两个元素:算法和密钥:算法使用密钥将明文数据变成无法辨识的密文。以下代码是点击事件里调用SecurityUtil工具类,加解密算法都再SecurityUtil中实现。
原创
发布博客 2024.06.30 ·
1143 阅读 ·
3 点赞 ·
0 评论 ·
11 收藏

Android隐藏状态栏和修改状态栏颜色_亲测有效

本文记录了隐藏状态栏和修改状态栏颜色以及电量、WiFi标志等内容的模式显示,亲测有效。
原创
发布博客 2024.06.29 ·
1107 阅读 ·
6 点赞 ·
0 评论 ·
8 收藏

展开说说:Android列表之RecyclerView

RecyclerView 内置ViewHolder,省去了每次findViewById() 创建视图;当列表滑动的时候,只有少量相邻的视图会被创建。当视图滑出屏幕时,RecyclerView 会复用它并且填充新的数据。由于它是通过回收已有的结构而不是持续创建新的列表项,所以它可以有效提高应用的时间效率和空间效率。
原创
发布博客 2024.06.27 ·
996 阅读 ·
23 点赞 ·
0 评论 ·
26 收藏

展开说说:Android之WebView详解

onPageStarted是在onProgressChanged执行之后才会执行;onPageFinished是在onProgressChanged加载到100之后才执行;onReceivedError如果执行一定是在onPageFinished之后还需要注意Android原生调用js需要在onPageFinished回调之后再调用否则不生效,因为B页面还没加载完你喊破嗓子它也不理你.
原创
发布博客 2024.05.08 ·
1803 阅读 ·
6 点赞 ·
0 评论 ·
11 收藏

展开说说:Android线程池解析

何谓线程池?本人理解是存放和管理线程的一个容器。线程池存在的意义是什么?第一:前面博客提到过创建和销毁线程的操作本身是有性能开销的,如果把使用的线程对象存起来下次用的时候直接取出来用就省去了一次创建和销毁的成本,使用越频繁就越能节省性能,毕竟省到就是赚到嘛。第二:方便的管理线程,避免很多线程同时争抢资源引发阻塞。毕竟是人家封装过的,因此有专门的属性参数来控制核心线程数、最大并发数、非核心线程的最大限制时长等。
原创
发布博客 2024.05.07 ·
945 阅读 ·
16 点赞 ·
0 评论 ·
13 收藏

展开说说:Android实现多线程解析

通过日志可以看出AsyncTask执行异步任务的逻辑是先执行onPreExecute方法让我们做一些准备工作,然后doInBackground方法被回调做耗时任务,需要主动调用publishProgress方法,然后onProgressUpdate被回调,doInBackground中伪造了十秒延时后再次主动调用publishProgress方法onProgressUpdate再次被回调,最后任务执行结束以后onPostExecute被回调返回执行结果。
原创
发布博客 2024.05.05 ·
931 阅读 ·
9 点赞 ·
0 评论 ·
20 收藏

展开说说:Android实现多线程几种方式

Thread类的start()方法和run()方法的主要区别在于人家扮演的角色压根就不一样。以下是两者的主要区别:首先达到的效果不同。run()方法是线程中实际运行的代码,他就是仅代表调用run方法而已;start()方法是启动一个新线程,它会创建一个新的线程并在新的线程中并行执行run方法的任务。因此在实际的多线程编程中,应该通过调用start()方法来启动线程。
原创
发布博客 2024.05.04 ·
1187 阅读 ·
30 点赞 ·
1 评论 ·
20 收藏

展开说说:Android Fragment完全解析-卷三

本文章分析了Fragment的管理器FragmentManager、事务以及完整的声明周期和动态加载Fragment的原理解析。
原创
发布博客 2024.05.03 ·
1234 阅读 ·
23 点赞 ·
2 评论 ·
17 收藏

展开说说:Android动画之自定义动画

本篇记录一个小球沿着正弦曲线运动并且自身不断放大缩小还能变换自身颜色的属性动画。1、梳理一下实现上面效果的需要用到那些知识点:1.1这个动画的主角是“一个小球”因此我们需要使用canvas绘制一个小球,为了突出它是是沿正弦曲线运动我们在屏幕上加一条横线,同样使用canvas绘制1.2 正弦曲线就需要ValueAnimator使用自定义一个估值器继承TypeEvaluator,计算小球的运动轨迹1.3 小球放大缩小也需要一个ValueAnimator计算小球的半径1.4 变换小球自身颜色,
原创
发布博客 2024.05.01 ·
944 阅读 ·
12 点赞 ·
0 评论 ·
19 收藏

展开说说:Android动画之插值器和估值器

上一篇写了Android三种动画的使用,这里分析一下属性动画的两个属性插值器和估值器。1.1 描述TimeInterpolator、Interpolator、BaseInterpolator以及一些其他的XXInterpolator,一眼望去您认为谁是插值器的顶级父类,3、2、1,没错是TimeInterpolator,因此严格意义上来说他好像应该叫时间插值器。其实我的第一错觉Interpolator才是,下图可以看出来我真的错了。
原创
发布博客 2024.04.25 ·
1044 阅读 ·
21 点赞 ·
2 评论 ·
19 收藏

展开说说:Android动画使用

属性动画Animator是个抽象类,有三个子类ValueAnimator、AnimatorSet,而TimeAnimator和ObjectAnimator是ValueAnimator的子类、我们都是在使用他们四个实现动画。补间分为平移动画translate、缩放动画scale、旋转动画rotate、透明度动画alpha以及动画合集set,用发基本类似此处以缩放动画为例。补间动画也可以在java代码中实现,这里其实完成了上面的第一步和第二部,有了animation对象其他的都一样了。实例去执行或者关闭动画。
原创
发布博客 2024.04.25 ·
1181 阅读 ·
12 点赞 ·
3 评论 ·
13 收藏

展开说说:Android Fragment完全解析-卷二

3.1 ViewPager为什么可以滑动?因为ViewPager重写了View类的computeScroll方法,并在computeScroll中调用onPageScrolled并且里还调用了view的scrollTo实现view滑动,重写view中的这个方法,computeScroll和scrollTo配合专门负责实现滑动的
原创
发布博客 2024.04.21 ·
969 阅读 ·
13 点赞 ·
1 评论 ·
8 收藏

展开说说:Android Fragment完全解析-卷一

Fragment 它很独立,它可以定义和管理自己的布局,具有自己的生命周期,并且可以处理自己的输入事件。Fragment 很粘人,它不能独立存在。它们必须由 activity 或其他 fragment 托管(即fragment可以内嵌fragment使用)。同一 activity 或多个 activity 中可以使用同一 fragment 类的多个实例,但是要注意解耦避免让一个 fragment 依赖另一个 fragment 或在一个 fragment 操控另一个 fragment。
原创
发布博客 2024.04.20 ·
851 阅读 ·
8 点赞 ·
0 评论 ·
16 收藏
加载更多