自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Dengzm94

手持两把锟斤拷,口中疾呼烫烫烫

  • 博客(95)
  • 资源 (1)
  • 问答 (1)
  • 收藏
  • 关注

原创 算法入门

写在前面汇总贴,各种算法的Java实现,持续更新~《剑指Offer》数组中重复的数字二维数组中的查找替换空格、重建二叉树斐波那契数列、旋转数组中的最小数字矩阵中的路径、机器人的运动范围剪绳子、二进制中1的个数数值的整数平方、打印从1到最大的n位数、删除链表的节点正则表达式匹配、表示数值的字符串调整数组顺序使奇数位于偶数前面、链表中倒数第k个节点、链表中环的入口节点、反转链表...

2019-06-23 17:43:31 627 3

原创 音视频学习-从入门到精通到放弃

写在前面汇总贴,音视频相关的文章目录,持续更新~《FFmpeg从入门到精通》《FFmpeg从入门到精通》读书笔记(一)《FFmpeg从入门到精通》读书笔记(二)《FFmpeg从入门到精通》读书笔记(三)...

2019-06-23 17:34:15 2021 2

原创 Android U pipeline-statusbar

本篇文章对pipeline状态栏部分进行分析,整理与原有逻辑的对应关系

2024-03-16 11:21:12 947

原创 一起看看StatusBarManagerService(三)

本篇主要介绍StatusBarManagerService中与通知栏相关的API和几个通用API。

2023-12-14 21:11:06 152

原创 一起看看StatusBarManagerService(二)

StatusBarManagerService中API涉及systemui的多个模块;本篇主要介绍StatusBarManagerService中与状态栏相关的API。

2023-12-13 10:49:37 192

原创 一起看看StatusBarManagerService(一)

本篇主要介绍StatusBarManagerService与systemui之间的关联。

2023-11-11 10:20:28 460

原创 StatusBarManager中的相关标志位

StatusBarManager相关标识位

2023-11-11 09:00:04 361

原创 星球作业(第十一期)Android中Binder简述

什么是binder?简述下它的工作过程和使用场景。

2023-10-06 16:57:33 262

原创 星球作业(第十期)Android中的ClassLoader

1.Android中有哪几种ClassLoader?它们的作用和区别是什么? 2.简述ClassLoader的双亲委托模型

2023-10-04 17:25:28 260

原创 Android日常——记一次Android事件分发需求的实现

记一次Android事件分发需求的实现

2023-10-04 10:50:05 276

原创 记一次成功的探索过程:算法题-单词搜索II (暴力+字典树)

题目给定一个 m x n 二维字符网格board和一个单词(字符串)列表 words,找出所有同时在二维网格和字典中出现的单词。单词必须按照字母顺序,通过 相邻的单元格 内的字母构成,其中“相邻”单元格是那些水平相邻或垂直相邻的单元格。同一个单元格内的字母在一个单词中不允许被重复使用。输入:board = [[“o”,“a”,“a”,“n”],[“e”,“t”,“a”,“e”],[“i”,“h”,“k”,“r”],[“i”,“f”,“l”,“v”]], words = [“oath”,“pea”,

2021-04-26 20:16:08 250

原创 记一次失败的探索过程:算法题-连续的子数组和

题目题目链接:leetcode-连续的子数组和给定一个包含 非负数 的数组和一个目标 整数 k ,编写一个函数来判断该数组是否含有连续的子数组,其大小至少为 2,且总和为 k 的倍数,即总和为 n * k ,其中 n 也是一个整数。示例 1:输入:[23,2,4,6,7], k = 6输出:True解释:[2,4] 是一个大小为 2 的子数组,并且和为 6。示例 2:输入:[23,2,6,4,7], k = 6输出:True解释:[23,2,6,4,7]是大小为 5 的子数组,并且和为

2021-04-21 21:07:34 163

原创 Android日常—圆角ImageView

写在前面新开个topic~日常开发中解决的比较有趣的问题,分享一下~需求ImageView实现圆角,单侧圆角实现分析首先最好能用最小的改动去实现ImageView加圆角,不对bitmap或drawable做处理,而是在绘制时进行修改,于是在onDraw时通过clipPath扣出一个圆角;其次是单侧圆角需要考虑LTR和RTL切换的问题。代码package com.example.myapplication.ui;import android.content.Context;imp

2021-03-20 12:04:30 714

原创 驾考:科一知识点总结

写在前面记录科一知识点,复习用;还在看,随缘更新2021.02.23 第一次整理分数相关扣3分的情况:1.驾驶营运客车(不包括公共汽车)、校车以外的载客汽车载人数超过核定人数未达20%的2.驾驶中型以上载客载货汽车、危险物品运输车辆在高速公路、城市快速路以外的道路上行驶或者驾驶其他机动车行驶超过规定时速未达20%的3.驾驶货车载物超过核定载质量未达30%4.驾驶机动车在高速公路行驶低于规定最低时速的5.驾驶禁止驶入高速公路的机动车驶入高速公路的6.驾驶机动车在高速公路或者城市快速路上不

2021-02-23 21:27:05 1496

原创 LinearLayout onMeasure源码解析

目录写在前面知识储备1. LinearLayout属性baselineAligned的作用及baseline2. LinearLayout之Weight/measureWithLargestChild详解3. LinearLayout分隔符妙用4. TabRowLinearLayout.onMeasure源码分析Vertical变量第一个for循环第二个for循环第三个for循环Last but not the least写在后面写在前面基于android-30源码进行分析知识储备1. Linea

2021-02-09 16:18:16 342

原创 Android性能优化实践——启动优化

写在前面赶着学赶着写,实不实用就完事了!这里的优化我们针对的是冷启动时的优化,有关冷启动等相关概念可以看这篇文章:APP启动方式分析——冷启动、热启动、温启动而冷启动的第二阶段,创建app对象、启动主进程、创建MainActivity、渲染视图、执行onLayout、执行onDraw,这部分是我们能够真正控制的时间,即Application和Activity生命周期中进行的操作。目录启动时间测量traceview开屏白屏——Theme切换异步优化启动时间测量对启动

2020-07-08 12:08:43 524

原创 图片加载—Glide为什么这么强?Glide源码分析(下)

写在前面Github–Glide 镇楼欢迎光临下篇 ~目录(上)1.代码实例2.GlideApp3.with4.监听生命周期5.load6.into(下)1.资源加载和缓存机制2.TargetView3.Transform资源加载和缓存机制书接上文,讲到了into方法最后委托’RequestTracker #track’去获取资源: # RequestManager void track(@NonNull T

2020-05-13 10:09:49 375 1

原创 图片加载—Glide为什么这么强?Glide源码分析(上)

写在前面Github–Glide 镇楼源码越看觉得东西越多,决定分两篇来写:目录(上)1.代码实例2.GlideApp3.with4.监听生命周期5.load6.into(下)1.资源加载和缓存机制2.TargetView3.Transform代码实例// how to use?repositories { mavenCentral() google()}dependencies { implement

2020-05-12 13:05:41 363 1

原创 OKHttp看这一篇就够了!

写在前面本文按照一次网络请求的代码实例的顺序来进行源码分析,如果有错误的地方麻烦各位大佬指正~目录1.代码实例2.OkHttpClient3.Request4.Call & RealCall5.Dispatcher6.Interceptor实例 /** * 同步请求 */ public void synRequest() { ...

2020-05-08 14:05:30 749

原创 Android Architecture Components(六)Room源码分析

写在前面官方文档镇楼首先先摘选官方文档上的讲解,之后针对Room涉及的注解进行阅读分析。使用 Room 将数据保存到本地数据库Room 在 SQLite 上提供了一个抽象层,以便在充分利用 SQLite 的强大功能的同时,能够流畅地访问数据库。处理大量结构化数据的应用可极大地受益于在本地保留这些数据。最常见的用例是缓存相关数据。这样,当设备无法访问网络时,用户仍可在离线状态下浏览相应...

2020-03-15 18:17:03 901

原创 Android Architecture Components(五)Paging源码分析

写在前面本文分三部分进行解读:首先是官方文档的摘录,介绍Paging库的作用以及使用方式,第二部分会给出一个实例来介绍Paging库的用法,第三部分结合项目对源码进行阅读分析。官方文档The Paging Library helps you load and display small chunks of data at a time. Loading partial data on de...

2020-03-09 20:20:15 448

原创 Android 倒计时出现误差解决方式

写在前面这几天在实现一共和倒计时有关的功能,使用CountDownTimer实现。然而,在测试的时候发现,倒计时经常发现跳秒、不出现1的情况,因此对这方面进行了一些了解。本文准备介绍一下CountDownTimer倒计时不准确的原因,以及自己实现的一个计时器~CountDownTimer的问题发现跳秒、不出现1的问题之后,首先将每次onTick()的回调时间打印了出来(这里忘记保存log了...

2020-02-28 14:07:09 1562

原创 FFmpeg源码(四)大军未动粮草先行——avformat_open_input

写在前面本节主要分析avformat_open_input:打开输入流的过程中所做的操作。源码解析首先我们先给出avformat_open_input的完整代码及详解注释(代码中标注的两个TODO的解析在后面):avformat_open_input/** * Open an input stream and read the header. The codecs are not o...

2019-11-28 14:09:18 718

原创 AndFix源码分析

写在前面Github地址镇楼:AndFix首先介绍一下AndFix及其使用方法,然后根据使用流程对其内部实现进行分析。AndFix介绍首先我们看一下不同热修复框架的功能特性对比:特性AndFixTinker/AmigoQQ空间Robust/Aceso即时生效是否否是方法替换是是是是类替换否是是否类结构修改否是否...

2019-11-20 20:10:16 429

原创 算法拾遗:图

写在前面最近在温习数据结构,准备将一些常见的算法自己动手实现一遍,加深学习印象。我也是通过别人博客来学习,所以关于算法的讲解我会直接贴出链接,代码的注释上也会有对应的链接。如果代码有误,希望大神们指出,拜谢~算法讲解最小生成树:普利姆算法、克鲁斯卡尔算法普利姆与克鲁斯卡尔的最小生成树最短路径:迪杰拉斯算法、弗洛伊德算法、SPFA算法最短路径问题—Dijkstra算法详解最短路径问题...

2019-11-17 20:33:31 203

原创 剑指Offer(Java实现):把字符串转换成整数、树中两个节点的最低公共祖先

package com.dengzm.lib;/** * @Description 067 把字符串转换成整数 * * Created by deng on 2019/11/2. */public class Jianzhi067 { private static boolean isValid = false; public static void main(St...

2019-11-02 09:54:55 224

原创 剑指Offer(Java实现):股票的最大利润、求1+2+...+n、不用加减乘除做加法、构建乘积数组

package com.dengzm.lib;/** * @Description 063 股票的最大利润 * 假设把某股票的价格按照时间先后顺序存储在数组中,请问买卖该股票一次可能获得的最大利润是多少? * 例如:[9,11,8,5,7,12,16,14],在价格为5时买入,16时卖出,利润最大为11 * * Created by deng on 2019/11/1. */pu...

2019-11-01 19:45:15 180

原创 剑指Offer(Java实现):n个骰子的点数、扑克牌中的顺子、圆圈中最后剩下的数字

package com.dengzm.lib;import java.text.NumberFormat;/** * @Description 060 n个骰子的点数 * 把n个骰子扔在地上,所有骰子朝上的一面的点数之和为s。输入n,打印出所有可能出现的值出现的概率 * * Created by deng on 2019/11/1. */public class Jianzhi...

2019-11-01 15:37:54 302

原创 剑指Offer(Java实现):和为s的数字、翻转字符串、队列最大值

package com.dengzm.lib;/** * @Description 057 和为s的数字 * 题目一:和为s的两个数 * 输入一个递增排序的数组和一个数字s,在数组中查找两个数,使得它们的和正好是s。如果有多对数字的和等于s,则输出任意一对即可。 * 题目二:和为s的连续正数序列 * 输入一个正数s,打印出所有和为s的连续正数序列(至少含有两个数) * * Cre...

2019-10-31 16:48:22 140

原创 剑指Offer(Java实现):二叉搜索树的第k大节点、二叉树的深度、数组中数字出现的次数

package com.dengzm.lib;/** * @Description 054 二叉搜索树的第k大节点 * * Created by deng on 2019/10/29. */public class Jianzhi054 { private static int index = 0; public static void main(String[] ...

2019-10-31 09:03:25 240

原创 剑指Offer(Java实现):丑数、第一个只出现一次的字符、数组中的逆序对、两个链表的第一个公共节点、在排序数组中查找数字

package com.dengzm.jianzhioffer;/** * @Description 049 丑数 * 我们把只包含因子2,3和5的数称作丑数。求按从大到小的第1500个丑数 * * Created by deng on 2019/9/22. */public class Jianzhi049 { public static void main(Strin...

2019-10-29 12:11:26 139

原创 剑指Offer(Java实现):数字序列中某一位的数字、把数组排成最小的数、把数字翻译成字符串、礼物的最大价值、最长不含重复字符串的子字符串

package com.dengzm.jianzhioffer;/** * @Description 044 数字序列中某一位的数字 * 数字以0123456789101112131415的格式序列化到一个字符序列中,第5位是5,第13位是1,等等。求任意第n位对应的数字 * * Created by deng on 2019/9/20. */public class Jianzh...

2019-09-21 13:08:50 230

原创 剑指Offer(Java实现):连续子数组的最大和、1~n整数中1出现的次数

package com.dengzm.jianzhioffer;/** * @Description 042 连续子数组的最大和 * * Created by deng on 2019/9/18. */public class Jianzhi042 { public static void main(String[] args) { int[] data1 ...

2019-09-20 19:51:49 170

原创 剑指Offer(Java实现):数据流中的中位数

题目分析因为数据流中,数据的长度是不断变化的,所以中位数的计算涉及到两步:数据的插入和中位数的查找。书中给出的较好的实现方式是,因为中位数可能是中间的数,也可能是中间两个数的平均值,所以将所有的数平均分成两份,并用最大堆和最小堆进行保存。当插入时,如果总数为偶数,将这个数与最大堆的最大值进行比较,插入到最大堆根据比较的结果,选择是否将值与最小堆中的值进行替换;如果总数为奇数,则插入最小堆,同理...

2019-09-18 13:34:38 214

原创 剑指Offer(Java实现):数组中出现次数超过一半的数字、最小的k个数

package com.dengzm.jianzhioffer;import java.util.Random;/** * @Description 039 数组中出现次数超过一半的数字 * 数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字 * * Created by deng on 2019/5/25. */public class Jianzhi039 {...

2019-09-18 09:22:24 306 1

原创 雷神simplest_ffmpeg_player解析(四)

写在前面学习雷神的博客,向雷神致敬~看了雷神的小学期视频课,在Github上下载了simplest_ffmpeg_player的代码,为代码加上了注释,作为留存。2019.07.24simple_ffmpeg_play_sdl2r.cpp注释simple_ffmpeg_player_su.cpp注释simple_ffmpeg_play_sdl2r.cpp是单纯的SDL播放器,si...

2019-07-24 16:01:52 754 1

原创 FFmpeg源码(三)解码前世今生——avcodec_decode_video2、avcodec_send_packet与avcodec_receive_frame

写在前面本节主要讲AVPacket中的数据解码到AVFrame中的过程。前置知识点1.FFmpeg数据结构简介AVFormatContext:封装格式上下文结构体,也是统领全局的结构体,保存了视频文件封装格式相关信息AVInputFormat:每种封装格式对应一个该结构体AVStream:视频文件每个视频(音频)流对应一个该结构体AVCodecContext:编码器上下文结构体,...

2019-07-23 17:40:14 7980 5

原创 雷神simplest_ffmpeg_player解析(三)

写在前面学习雷神的博客,向雷神致敬~看了雷神的小学期视频课,在Github上下载了simplest_ffmpeg_player的代码,为代码加上了注释,作为留存。2019.07.22前置知识点simplest_ffmpeg_player.cpp注释链接及参考资料《基于 FFmpeg + SDL 的视频播放器的制作》课程的视频SDL视频显示WSAStartup函数知识...

2019-07-22 22:43:58 770

原创 雷神simplest_ffmpeg_player解析(二)

写在前面学习雷神的博客,向雷神致敬~看了雷神的小学期视频课,在Github上下载了simplest_ffmpeg_player的代码,为代码加上了注释,作为留存。2019.07.18前置知识点simplest_ffmpeg_helloworld.cpp注释知识点URLProtocol其中 url_protocols[] 在 protocol_list.c 中static ...

2019-07-18 14:48:37 485

原创 FFmpeg源码(二)开疆拓土——mem.c

mem.cmem.c中的函数负责FFmpeg中的内存操作,内存的分配、重新分配、释放等。最常使用的几个函数:av_malloc(),av_realloc(),av_mallocz(),av_calloc(),av_free(),av_freep()。c语言基础源码分析前,先看一下当中用到的几个c常用函数1.C/C++中extern关键字详解 extern可以置于变量或者函数前,以标示...

2019-07-17 22:50:37 645

Mobile multimedia streaming techniques QoE and energy saving perspective

移动设备多媒体技术:用户体验和能量消耗的实验 英文论文翻译

2017-07-25

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

TA关注的人

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