艾阳Blog
码龄9年
求更新 关注
提问 私信
  • 博客:2,814,637
    社区:238
    问答:14,030
    2,828,905
    总访问量
  • 217
    原创
  • 4,075
    粉丝
  • 26
    关注
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:北京市
加入CSDN时间: 2017-02-20

个人简介:不积跬步无以至千里,不积小流无以成江海。闻道有先后,术业有专攻。不忘初心,方得始终。

博客简介:

csdn_aiyang的博客

博客描述:
业精于勤荒于嬉,行成于思毁于随。
查看详细资料
个人成就
  • 领域专家: 操作系统技术领域
  • 获得2,529次点赞
  • 内容获得423次评论
  • 获得7,316次收藏
  • 代码片获得2,104次分享
  • 博客总排名1,008,068名
创作历程
  • 27篇
    2024年
  • 12篇
    2023年
  • 17篇
    2022年
  • 2篇
    2021年
  • 22篇
    2020年
  • 25篇
    2019年
  • 40篇
    2018年
  • 93篇
    2017年
成就勋章
TA的专栏
  • Android 进阶实战总结
    付费
    21篇
  • Kotlin
    14篇
  • Flutter
    9篇
  • HarmonyOS
    2篇
  • React Native
    6篇
  • IOS 实战笔记
    6篇
  • Android 实战
    91篇
  • Java
    32篇
  • 文人骚客
    20篇
  • 编程工具
    3篇
  • mac
    7篇

TA关注的专栏 11

TA关注的收藏夹 0

TA关注的社区 2

TA参与的活动 1

兴趣领域 设置
  • Java
    java
  • 移动开发
    androidflutter
  • HarmonyOS
    harmonyos
流量合作-私信我
进阶QQ群:569614530

Google官网中国版

阿里矢量图icon网站

Android官方学习课件

Flutter 官方学习课件

我的GitHub地址
创作活动更多

AI 镜像开发实战征文活动

随着人工智能技术的飞速发展,AI 镜像开发逐渐成为技术领域的热点之一。Stable Diffusion 3.5 FP8 作为强大的文生图模型,为开发者提供了更高效的图像生成解决方案。为了推动 AI 镜像开发技术的交流与创新,我们特此发起本次征文活动,诚邀广大开发者分享在 Stable Diffusion 3.5 FP8 文生图方向的实战经验和创新应用 本次征文活动鼓励开发者围绕 Stable Diffusion 3.5 FP8 文生图方向,分享以下方面的内容: 1. 技术实践与优化 - Stable Diffusion 3.5 FP8 模型架构解析与优化技巧 - 文生图生成效果的提升方法与技巧 - 模型部署与加速策略,例如使用 Hugging Face、Diffusers 等工具 - 针对特定场景(例如二次元、写实风)的模型微调与定制化开发 2. 应用场景探索 - Stable Diffusion 3.5 FP8 在不同领域的应用案例分享,例如游戏设计、广告创意、艺术创作等 - 利用 Stable Diffusion 3.5 FP8 实现图像编辑、图像修复、图像增强等功能的探索 - 结合其他 AI 技术(例如 NLP、语音识别)构建更强大的应用 3. 创新应用与思考 - 基于 Stable Diffusion 3.5 FP8 的创新应用场景设计 - AI 镜像开发的未来发展方向的思考与展望 - 对 AI 镜像开发伦理、安全等问题的探讨

31人参与 去参加
  • 最近
  • 文章
  • 专栏
  • 代码仓
  • 资源
  • 收藏
  • 关注/订阅/互动
更多
  • 最近

  • 文章

  • 专栏

  • 代码仓

  • 资源

  • 收藏

  • 关注/订阅/互动

  • 社区

  • 帖子

  • 问答

  • 课程

  • 视频

搜索 取消

Kotlin:run、runCatching、runBlocking、runInterruptible

run和runCatching是 Kotlin 标准库的一部分,可以在所有支持的平台上使用。runBlocking和runInterruptible是 Coroutines 协程的一部分。
原创
博文更新于 2024.04.19 ·
2852 阅读 ·
24 点赞 ·
0 评论 ·
19 收藏

Android 性能优化(七):APK安装包体积优化

移动 App 特别关注投放转化率指标,而 App 包体积是影响用户新增的重要因素,而 App 的包体积又是影响投放转化率的重要因素。新业务超过要总裁审批,一般在平台组都卡掉了。
原创
博文更新于 2024.04.17 ·
1588 阅读 ·
11 点赞 ·
0 评论 ·
18 收藏

Android View绘制及事件(五)View点击事件响应及分发过程详解

它是一个包装了很多触摸事件的实体类,用于存储UI界面与用户交互时的事件信息,如事件类型(按下、抬起、滑动)、x\y坐标值、发生的时间等。触摸点在屏幕上的绝对坐标,坐标值相对于屏幕而言;基于该View的坐标值;getAction,4种常用类型:ACTION_DOWN、ACTION_MOVE、ACTION_UP、ACTION_CANCEL。getActionMasked,多2种:ACTION_POINTER_DOWN、ACTION_POINTER_UP。
原创
博文更新于 2024.04.09 ·
1976 阅读 ·
1 点赞 ·
1 评论 ·
0 收藏

Android 属性动画及自定义3D旋转动画

属性动画框架,基本可以实现所有的视图动画效果。相比属性动画,视图动画一个非常大的缺陷就是不具备交互性。当某个元素发生视图动画后,其响应事件的位置还依然在动画前的地方,所以视图动画只能做普通的动画效果,避免交互发生,且效率较高使用方便。
原创
博文更新于 2024.04.09 ·
1628 阅读 ·
19 点赞 ·
0 评论 ·
27 收藏

Android 动画之视图动画的使用

导导Android的动画框架包括帧动画、视图动画(又叫补间动画)、属性动画。在Android3.0之前,视图动画一家独大,但随之后属性动画框架被推出。相比属性动画,视图动画一个非常大的缺陷就是不具备交互性。当某个元素发生视图动画后,其响应事件的位置还依然在动画前的地方,所以视图动画只能做普通的动画效果,避免交互发生,且效率较高使用方便。视图。
原创
博文更新于 2024.04.09 ·
3609 阅读 ·
3 点赞 ·
1 评论 ·
7 收藏

JAVA 并发编程之死锁的产生及避免

死锁可以理解为,在多线程并发竞争资源的环境下,在各自拥有锁的情况下,又去尝试获取对方的锁,从而造成的一种阻塞的现象,若无外力作用,它们都将一直阻塞下去。我们都知道 ,join方法的作用是阻塞线程,即当前线程等待挂起的线程执行结束,才继续执行。如果线程自身调用了调用join()这个方法,表示,自身挂起自身,那么线程将一直在阻塞。①互斥条件:一个资源只能被一个线程占有,当这个资源被占用后其他线程就只能等待。②不可剥夺条件:当一个线程不主动释放资源时,此资源一直被拥有线程占有。
原创
博文更新于 2024.04.09 ·
610 阅读 ·
5 点赞 ·
0 评论 ·
10 收藏

Hybrid混合开发 和 JSBridge 的使用

JSBridge 简单来讲,主要是 给 JavaScript 提供调用 Native 功能的接口,让混合开发中的『前端部分』可以方便地使用平台的地图定位、相册、摄像头等 Native 功能。实际上,JSBridge 就像其名称中的『Bridge』的意义一样,是 Native 和非 Native 之间的桥梁,它的核心是 构建 Native 和非 Native 间消息通信的通道,而且是“双向通信”的通道。
原创
博文更新于 2024.04.09 ·
1302 阅读 ·
20 点赞 ·
0 评论 ·
26 收藏

Android 一篇讲完Crash治理之OOM及内存检测工具

系列推荐:Android性能优化(一)闪退治理、卡顿优化、耗电优化、APK瘦身Android 性能优化(二)Handler运行机制原理,源码分析Android 性能优化(三)认识错误Error和异常Exception及栈轨迹StackTraceAndroid 性能优化(四)Crash治理之路,UncaughtException前言性能优化第一篇中的Crash治理说过:...
原创
博文更新于 2024.04.08 ·
4161 阅读 ·
1 点赞 ·
1 评论 ·
6 收藏

Android 性能优化(二)Handler运行机制原理,源码分析

所以,我们需要,能在子线程中做完耗时操作,然后去到主线程更新UI的办法。是 Handler 机制提供的一种,可以在 Looper 事件循环的过程中,当消息队列为空或延迟消息还未执行的时候,执行任务的一种机制。Message内部构建一个链表维护被回收的Message对象,当调用obtain方法时会优先从池中获取,如果池中没有则创建新的Message对象,同时在使用完毕之后,进入池中以便于复用。如果没有消息就一直阻塞。在Looper.loop()方法,使用完毕时候调用了Message的recycle()方法。
原创
博文更新于 2024.04.08 ·
1941 阅读 ·
3 点赞 ·
1 评论 ·
7 收藏

JAVA JVM内存模型和GC分配和回收

JVM是(Java Virtual Machine)Java虚拟机的缩写。JVM是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。​在Java程序运行时,所有的到JVM中才能执行代码逻辑。不是直接和操作系统交互,需要jvm通过java类库解释给操作系统。​。
原创
博文更新于 2024.04.04 ·
913 阅读 ·
12 点赞 ·
0 评论 ·
21 收藏

JAVA 并发编程之AQS排队同步框架

基于一个FIFO(先进先出)队列 和 一个同步状态(state)来实现线程的排队和同步。当线程尝试获取同步状态时,如果同步状态已经被其他线程占用,则将当前线程包装成一个节点(Node)并入队等待,否则直接获取同步状态。同时,AQS会确保只有队列中第一个节点的线程才能获取同步状态,其他节点需要等待前面的节点释放同步状态。
原创
博文更新于 2024.03.29 ·
802 阅读 ·
12 点赞 ·
0 评论 ·
12 收藏

JAVA 线程池ThreadPoolExecutor及核心参数

使用普通线程会带来一些问题,如匿名Runnable无法进行管理,多次执行需要new多次对象;而使用线程池,不仅可以控制并发数、还可以重复利用存在的线程,减少系统的开销。
原创
博文更新于 2024.03.29 ·
3045 阅读 ·
3 点赞 ·
1 评论 ·
10 收藏

JAVA多线程之并发与同步,Lock与Syncronized

说到线程,就不得不先说线程和进程的关系。进程是系统的执行单位,一般一个应用程序即是一个进程,程序启动时系统默认有一个主线程,即是UI线程,我们知道不能做耗时任务,否则ANR程序无响应。这时需要借助子线程实现,即多线程。由于线程是系统CPU的最小单位,用多线程其实就是为了更好的利用cpu的资源。一、多线程创建方式//线程休眠1000毫秒,sleep使线程进入Block状态,并释放资源xx.start();//启动线程,run函数运行@Override@Override。
原创
博文更新于 2024.03.29 ·
27925 阅读 ·
23 点赞 ·
1 评论 ·
79 收藏

Java 并发编程之volatile可见性,原子操作线程不安全

原子操作:线程在工作内存的赋值指令assign,传输到仓库store,最后write写入主内存,这三步操作是一个整理,中间不会中断,就好像直接操作主存一样。使用volatile后,线程对变量原子操作值被修改了,会根据缓存一致性协议通知其他线程的缓存副本过期。在修饰的变量,在系统汇编的代码里会生成lock前缀,表示指令在多核CPU情况下,在当前处理器将缓存数据写回到系统主内存时,会引起其他CPU缓存了该内存地址的数据无效。按照原子性操作, 3、4是线程2的原子操作, 5、6、7是线程1的原子操作。
原创
博文更新于 2024.03.29 ·
378 阅读 ·
8 点赞 ·
0 评论 ·
3 收藏

解读《大话西游之大圣娶亲》

他必须去保护自己所爱的人,必须化解人间的仇恨,他别无选择,所以成为了孙悟空,成了大英雄,但他对自己的生存状态仍些遗憾。而且包括片子的最后,孙悟空将他心中残存的至尊宝的影子幻化作一位夕阳武士,是在对现实世界彻底失望后,并借武士的口中表达了对自己生存状态的不满。所以,俩人相遇了就是一种缘分,这种缘分在短暂的人生当中是非常的珍贵的。有人说这个有点扯,但是它就是这么奇妙,就像你遇见一个女孩之后,在不知不觉中的某一天忽然照着镜子发觉自己的样子好像变了,自己不再像个小孩子,感觉自己真的要长大了,是一样的道理。
原创
博文更新于 2024.03.28 ·
12691 阅读 ·
11 点赞 ·
6 评论 ·
9 收藏

团队管理九宫格:绩效考核、人才选拔:

在人才盘点时,根据人才的绩效和能力(包括胜任力),分别作为纵坐标和横坐标,将人才盘点的结果划分为9个象限,人才分为九个类别,以便于分类管理,因材施教。根据人才九宫格,我们将人才划分为9大类别,如下图。(请留意,上图中明星员工的衡量标准✅)
原创
博文更新于 2024.03.28 ·
2117 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

管理的本质:管理者和执行者的区别

在职场中因为岗位职责的差异,我们通过被分为两种角色,即执行者和管理者;大部分管理者也是从执行者晋升来的。因为思维的惯性,导致我们会很容易带着执行者的意识去做管理,遇到问题就会想着自己动手去做,按照过去总结过的经验去解决问题。如果你发现自己感觉不到团队的支持,在推动业务的过程中举步为难,你有可能已经落入执行者的惯性思维中了。
原创
博文更新于 2024.03.28 ·
1477 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

Android 性能优化(六):启动优化的详细流程

业内常见的app启动过程阶段一般分为「启动阶段」和「首刷阶段」。启动阶段:指用户点击icon到见到app的首页,起点为的Activity的()。首刷阶段:指用户见到app的首页到首页列表内容展现起点为Activity的onCreate,终点列表的onAttachedToWindow()。为了确保启动优化量化指标的数据能稳定和完整。启动过程中App退后台用户未登录场景特殊场景下的开屏广告,比如有复杂的联动动效站外push、deeplink拉起。
原创
博文更新于 2024.03.28 ·
5395 阅读 ·
25 点赞 ·
0 评论 ·
36 收藏

Java 集合知识:List、HashMap、Set

在Android 源码中大量地使用了ArrayMap进行内存中的数据储存和管理,比如Intent.putExtra、Bundle。ArrayMap比HashMap减少30%的内存消耗。
原创
博文更新于 2024.03.28 ·
11805 阅读 ·
61 点赞 ·
4 评论 ·
320 收藏

Android 性能优化(一):闪退、卡顿、耗电、APK

性能优化自2008年智能时代开始,Android操作系统开启一路高歌智能机发展之路。时至今日Android系统性能已经非常流畅了。到了不同层次的开发者手里,技术水平参差不齐,使得应用安装到配置极好的手机上依然存在体验差的现象。App性能优化是提升用户体验的永恒主题,也成为工程者最终的使命。性能优化从用户体验角度有四个性能优化方向。
原创
博文更新于 2024.03.27 ·
47285 阅读 ·
31 点赞 ·
6 评论 ·
242 收藏
加载更多