xiaxueliang_社区达人页

个人头像照片
xiaxueliang
已加入开发者社区1092

勋章 更多

个人头像照片
星级博主
星级博主
个人头像照片
技术博主
技术博主
个人头像照片
初入江湖
初入江湖

成就

已发布37篇文章
0条评论
已回答0个问题
0条评论
已发布0个视频
github地址

我关注的人 更多

技术能力

兴趣领域
  • Java
  • C++
  • Python
  • Android开发
  • Kotlin
  • 图形学
擅长领域
技术认证

暂时未有相关云产品技术能力~

一名普通Android程序员,专注Android、OpenGL ES、移动音视频等终端技术研发。希望通过该博客分享自己的Coding学习笔记。

暂无精选文章
暂无更多信息

2022年08月

  • 08.10 11:24:27
    发表了文章 2022-08-10 11:24:27

    一文详解 implementation api embed

    **implementation:** + 依赖`不具传导性`,引入的API仅Moudle可见; + `参与Moudle的编译、不参与对应AAR打包`,但参与整体Apk打包; **api:** + 依赖`具备传导性`,依赖该Moudle的其他Moudle也可调用引入的API; + `参与Moudle的编译、不参与对应AAR打包`,但参与整体Apk打包; **embed:** + `合并AAR`:将引入API对应的AAR工程合并到该Moudle工程,打包成为一个全新的AAR; + 依赖`不具传导性`:引入的API仅Moudle可见;

2022年04月

  • 04.15 13:21:32
    发表了文章 2022-04-15 13:21:32

    一文详解Python3处理Excel文件

    最近工作中需要统计APP线上终端用户 `手机品牌`、`手机型号`与`对应型号的用户量`,并生成Excel表格汇报项目组。因线上手机品牌、型号数量过于庞大,手动操作过于消耗时间,所以搞了一个 python3 的脚本来生成所需要的表格。

2022年03月

  • 03.19 22:16:25
    发表了文章 2022-03-19 22:16:25

    Android12 新特性及适配指南

    Android 12(API 31)于2021年10月4日正式发布,正式版源代码也于当日被推送到AOSP Android开源项目。截止到笔者撰写这篇文章时,国内各终端厂商的在售Android设备,已经逐步开启了Android 12正式版本的更新。当前,对于Android应用开发者来说,Android 12 的软件兼容适配已迫在眉睫。
  • 03.16 15:15:45
    发表了文章 2022-03-16 15:15:45

    Android 12 适配指南——SplashScreen

    Android 12(API 31)引入了 SplashScreen 相关API,用于开发Android应用的启动页。 SplashScreen相关API的引入影响在Andorid 12设备上运行的所有应用。若开发者未进行SplashScreen的适配工作,在应用冷启动和温启动时,可能会呈现两个启动页先后出现的情况(Android SplashScreen启动页 + Android应用自定义开发的启动页或引导页)。
  • 03.09 18:29:17
    发表了文章 2022-03-09 18:29:17

    一文学会 使用Kotlin Coroutine协程

    关于线程、协程两者的对比,可以简要叙述如下: 线程:线程由操作系统调度,线程切换或线程阻塞由操作系统和CPU调度实现; 协程:协程运行于操作系统的用户态,其依赖于线程来实现,通过用户态程序控制,尽量`减少或避免因线程阻塞造成的操作系统与CPU开销`。 与线程相比不同点在于,`协程挂起时不需要阻塞其运行的线程`。`协成挂起`期间,其对应的`线程可以被分配其他协程任务来执行`,待`该协程任务挂起结束再次开始时,将该协成再次交由某个线程来继续执行`(挂起期间,`类似于将该协程任务添加到了某个任务队列中`)

2021年12月

  • 12.24 11:19:00
    发表了文章 2021-12-24 11:19:00

    一文详解 MySQL 安装与使用

    最近开始接触服务端开发,先从配置开发环境开始,这一篇文章是对安装配置MySQL的过程、注意点、可用配置信息做一个笔记。
  • 12.02 12:51:35
    发表了文章 2021-12-02 12:51:35

    一文了解HarmonyOS系统架构

    HarmonyOS是一款面向 万物互联时代的、全新分布式操作系统。在传统的单设备系统能力基础上,HarmonyOS提出了基于`同一套系统能力`、`适配多种终端形态`的分布式理念。能够支持手机、平板、智能穿戴、智慧屏、车机等多种终端设备,提供全场景(移动办公、运动健康、社交通信、媒体娱乐等)业务能力。
  • 12.02 12:41:35
    发表了文章 2021-12-02 12:41:35

    Android级连异步任务——Bolts-Android原理简介

    Parse开源了一个面向iOS和Android的底层库集合,统称为Bolts。根据Parse的公告,Bolts是Parse和Facebook共同努力将两家公司各自独立开发的小型底层工具类合并的结果。Bolts-Android为一个级联的异步任务。
  • 12.02 12:40:45
    发表了文章 2021-12-02 12:40:45

    Android级连异步任务——Bolts-Android使用方式

    Parse开源了一个面向iOS和Android的底层库集合,统称为Bolts。根据Parse的公告,Bolts是Parse和Facebook共同努力将两家公司各自独立开发的小型底层工具类合并的结果。Bolts-Android为一个级联的异步任务。
  • 12.02 12:27:26
    发表了文章 2021-12-02 12:27:26

    一文详解 SparseArray、ArrayMap 实现原理

    SparseArray与ArrayMap是Android提供的两个列表数据结构。SparseArray相比于HashMap采用的是,时间换取空间的方式来提高手机App的运行效率。而ArrayMap实现原理上也类似于SparseArray。
  • 12.02 11:48:18
    发表了文章 2021-12-02 11:48:18

    Android中使用MAT、GIMP工具分析内存异常占用

    我们在用MAT(Memory Analyzer Tool)分析Android内存时,会发现大量的bitmap对象占了内存使用。但是很难定位究竟是哪张图片占用了内存,这里介绍一种查看bitmap的方法。
  • 12.02 11:41:03
    发表了文章 2021-12-02 11:41:03

    Android 使用Ant+Emma+Junit收集android代码覆盖率

    完成Android项目相关代码研发后,有时要求进行代码覆盖率测试,这里提出一种解决方案。
  • 12.02 11:35:55
    发表了文章 2021-12-02 11:35:55

    Android自动化打包——Jenkins自动化打包工具(Mac平台)

    Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件项目可以进行持续集成。改文章,我们通过使用Jenkins自动化工具,定期打包我们的Android APK项目,方便研发与测试的协同。
  • 12.02 11:26:14
    发表了文章 2021-12-02 11:26:14

    一文详解 HTTP 协议

    HTTP(HyperText Transfer Protocol)超文本传输协议。其`最初的设计目的是为了提供一种发布和接收HTML页面的方法`。HTTP是一个`客户端(用户)`和`服务端`之间请求和应答的标准。
  • 12.02 11:22:45
    发表了文章 2021-12-02 11:22:45

    一文详解 Android状态机StateMachine 使用方式及实现原理

    `StateMachine`不是`Android SDK`中的相关API,是存在于`frameworks`层源码中的一个Java类。通过这篇文章探究一下其使用方式以及实现原理。
  • 12.02 11:17:14
    发表了文章 2021-12-02 11:17:14

    一文分析 mp4对比m3u8 第一帧加载慢的原因

    公司要求对视频的 秒开率(1秒内成功加载的播放数 / 播放总数)、失败率 (播放失败的次数 / 播放总数) 等进行优化。经过线上AB测试发现,`m3u8视频(第一段切片为1~3秒)`在秒开率、失败率等性能指标上均优于`普通mp4视频`。这里探究一下,m3u8视频(第一段切片为1~3秒) 在秒开率上均优于 普通mp4视频 的原因。
  • 12.02 11:11:59
    发表了文章 2021-12-02 11:11:59

    Android Q 适配指南

    在Android 10开始版本中,官方的改动较大,相应的开发者适配成本还是很高的。 这里按照`2019.11.11 google android q workshop`流程,大概说明一下Android Q适配需要注意的内容。虽然是大概介绍,但应该是目前最全的适配攻略了...
  • 12.02 11:08:40
    发表了文章 2021-12-02 11:08:40

    Android Q 深色主题

    从Support Library 23.2.0 开始,AppCompat 新增了主题:`Theme.AppCompat.DayNight`。其允许APP在 `深色主题` 和 `亮色主题` 之间切换;可以大幅减少耗电量(`OLED显示屏`的设备上,`深色主题`较`亮色主题` 有更加持久的续航能力);改善弱视以及对强光敏感的用户的可视性;让所有人都可以在光线较暗的环境中更轻松地使用设备,从而提升用户体验。
  • 12.02 11:00:48
    发表了文章 2021-12-02 11:00:48

    一文详解 NanoHttpd 微型服务器原理

    `NanoHttpd`仅有一个Java文件的微型Http服务器实现。其方便嵌入式设备(例如:Android设备)中启动一个本地服务器,接收客户端本地部分请求;应用场景也非常广泛,例如:本地代理方式播放m3u8视频、本地代理方式加载一些加密秘钥等。
  • 12.02 10:55:09
    发表了文章 2021-12-02 10:55:09

    一文详解 m3u8 视频格式与分析视频秒开优化

    秒开指的是,一秒内成功加载的播放数/播放总数。本意是想对比一下m3u8与mp4视频格式,并了解m3u8格式优缺点,以确定一个大概优化方向。但对m3u8做简单了解后,觉的m3u8可能是一个优化方向。
  • 12.02 10:50:15
    发表了文章 2021-12-02 10:50:15

    一文详解 .obj .mtl 文件格式

    obj文件是3D模型文件格式。由Alias|Wavefront公司为3D建模和动画软件"Advanced Visualizer"开发的一种标准,适合用于3D软件模型之间的互导,也可以通过Maya读写。
  • 12.02 09:39:04
    发表了文章 2021-12-02 09:39:04

    一文详解 HashMap 实现原理

    HashMap对于程序员来说并不陌生,无论是Java还是Android研发人员,HashMap都是日常广泛使用的数据结构,通过这篇文章探究一下其具体实现原理。
  • 12.02 09:30:46
    发表了文章 2021-12-02 09:30:46

    一文分析 Only fullscreen opaque activities can request orientation 报错原因及解决方案

    今天在三星S8上遇见一个奇葩问题`Only fullscreen opaque activities can request orientation`,探究一下Android源码,出现这个错误的原因,以及解决方案。
  • 12.02 09:27:43
    发表了文章 2021-12-02 09:27:43

    一文详解 RxJava2 使用及实现原理

    RxJava—一个可以在JVM上运行的,基于观察者模式 实现异步操作的java库。其英文描述为:RxJava – Reactive Extensions for the JVM – a library for composing asynchronous and event-based programs using observable sequences for the Java
  • 12.02 09:20:53
    发表了文章 2021-12-02 09:20:53

    一文详解 JsBridge 实现原理

    JsBridge主要用于“JS与Native的通信”,众所周知Android 4.2以下的WebView存在addJavascriptInterface漏洞的问题,为解决这一问题国内很多知名大厂很早就在各自项目中集成了JsBridge。
  • 12.02 09:14:02
    发表了文章 2021-12-02 09:14:02

    一文详解运营商发布的“5G消息白皮书”

    2020年4月8日中国移动、中国电信、中国联通携手华为、小米、vivo、OPPO、中兴等11家终端厂商联合发布了《5G消息白皮书》,用来`推动传统短消息服务升级`。 三大运营商联合发布的《5G消息白皮书》创造了一种怎样的商业模式,我们该如何理解《5G消息白皮书》?
  • 12.02 09:09:20
    发表了文章 2021-12-02 09:09:20

    一文详解常见开源协议

    日常从Github拷贝代码过程中,也要抽空了解一下,我们拷贝的代码在商用上是否存在风险。版权保护方面,虽然相关法规尚有待完善,但在研发商用软件过程中,作为软件开发者还是很有必要了解一下,我们平时使用的`开源组件/框架`都涉及到了哪些开源协议,以避免今后的法律风险。
  • 12.02 08:59:06
    发表了文章 2021-12-02 08:59:06

    一文详解 TCP与UDP区别

    计算机与其他网络设备相互通信,通信的双方在发送和接收数据包时必须基于相同的规则(例如:如何找到通信目标、如何发起通信、如何结束通信等规则都需要事先确定),我们将这种规则称为协议(Protocol)。TCP/IP协议簇是 Internet 的基础,其是一系列网络协议的总称,例如:TCP、UDP、IP、FTP、HTTP、ICMP、SMTP等都属于TCP/IP协议族内的协议。
  • 12.02 08:56:27
    发表了文章 2021-12-02 08:56:27

    一文详解 ArrayDeque 双端队列使用及实现原理

    deque(double-ended queue)双端队列,是一种具有队列和栈的性质的数据结构。双端队列中的元素可以从两端弹出,其限定插入和删除操作在表的两端进行。
  • 12.02 08:50:09
    发表了文章 2021-12-02 08:50:09

    一文详解 URLEncode

    使用浏览器进行Http网络请求时,若请求query中包含中文,中文会被编码为 `%+16进制+16进制`形式,但你真的深入了解过,为什么要进行这种转义编码吗?编码的原理又是什么?
  • 12.02 08:48:17
    发表了文章 2021-12-02 08:48:17

    Android R 新特性分析及适配指南

    Android R(Android 11 API 30)于2020年9月9日正式发布,随国内各终端厂商在售Android设备的版本更新升级,应用软件对Android R 版本的兼容适配已迫在眉睫。

2021年11月

  • 11.30 17:04:06
    发表了文章 2021-11-30 17:04:06

    App性能优化——内存、CPU、耗电、启动时间指标获取分析

    考虑到既然是优化性能,那首先要获取App的相关性能指标,比如: 内存占用、CPU利用率、App启动时间、App耗电量等情况,获取以上各指标后,才能针对性分析确定是否存在优化的可能。
  • 11.30 16:57:29
    发表了文章 2021-11-30 16:57:29

    一文详解 MD5 信息摘要算法

    对于软件研发人员来说 MD5 不是一个陌生的词汇,平时的软件研发中,经常使用 MD5 校验消息是否被篡改、验证文件完整性,甚至将MD5当作加密算法使用。MD5虽不陌生,但不是所有研发人员都了解其算法原理,通过这篇文章详细学习MD5 摘要算法。
  • 11.30 16:55:59
    发表了文章 2021-11-30 16:55:59

    一文详解 RSA 非对称加密算法

    非对称加密算法指的是 加、解密使用不同的密钥,一把为公开的公钥,另一把为私钥。 公钥加密的内容只能由私钥进行解密,反之由私钥加密的内容只能由公钥进行解密。也就是说,这一对公钥、私钥都可以用来加密和解密,并且一方加密的内容只能由对方进行解密。
  • 11.30 16:25:25
    发表了文章 2021-11-30 16:25:25

    一文详解 Base64编码原理

    Base64 是一种 编码方式,最早出现在电子邮件传输协议中。 电子邮件问世之初,传递消息时只支持 ASCII 字符,后来随着电子邮件的广泛使用,传递非ASCII字符内容的需求增加,例如:传输中文、传输文件(图片、视频)。
  • 11.30 16:23:23
    发表了文章 2021-11-30 16:23:23

    一文详解 Interpolator动画插值器

    Interpolator 被用来修饰动画效果,定义动画的变化率。 在Android源码中对应的接口类为 TimeInterpolator,通过输入均匀变化的0~1之间的值,可以得到匀速、正加速、负加速、无规则变加速等0~1之间的变化曲线。
  • 发表了文章 2022-08-10

    一文详解 implementation api embed

  • 发表了文章 2022-04-15

    一文详解Python3处理Excel文件

  • 发表了文章 2022-03-19

    Android12 新特性及适配指南

  • 发表了文章 2022-03-16

    Android 12 适配指南——SplashScreen

  • 发表了文章 2022-03-09

    一文学会 使用Kotlin Coroutine协程

  • 发表了文章 2021-12-24

    一文详解 MySQL 安装与使用

  • 发表了文章 2021-12-02

    一文详解 利用LinkedHashMap实现Lru机制

  • 发表了文章 2021-12-02

    一文了解HarmonyOS系统架构

  • 发表了文章 2021-12-02

    Android级连异步任务——Bolts-Android原理简介

  • 发表了文章 2021-12-02

    Android级连异步任务——Bolts-Android使用方式

  • 发表了文章 2021-12-02

    一文详解 SparseArray、ArrayMap 实现原理

  • 发表了文章 2021-12-02

    Android中使用MAT、GIMP工具分析内存异常占用

  • 发表了文章 2021-12-02

    Android 使用Ant+Emma+Junit收集android代码覆盖率

  • 发表了文章 2021-12-02

    Android自动化打包——Jenkins自动化打包工具(Mac平台)

  • 发表了文章 2021-12-02

    一文详解 HTTP 协议

  • 发表了文章 2021-12-02

    一文详解 Android状态机StateMachine 使用方式及实现原理

  • 发表了文章 2021-12-02

    一文分析 mp4对比m3u8 第一帧加载慢的原因

  • 发表了文章 2021-12-02

    Android Q 适配指南

  • 发表了文章 2021-12-02

    Android Q 深色主题

  • 发表了文章 2021-12-02

    一文详解 NanoHttpd 微型服务器原理

正在加载, 请稍后...
滑动查看更多
正在加载, 请稍后...
暂无更多信息
正在加载, 请稍后...
暂无更多信息