joy keeps flowin’ - 什么都想写点
为Android编译ffmpeg
近来学习音视频, ffmpeg又是音视频中绕不开的,于是编译ffmpeg. 试了好多天, 总算摸出点规律, 记录下来给需要的朋友提供一点线索. 编译 # 从ffmpeg仓库克隆源码 安装ndk 执行编译脚本 sysroot # sysroot被称为逻辑根目录,只在链接过程中起作用,作为交叉编译工具链搜索库文件的根路径,如配置--sysroot=dir,则dir作为逻辑根目录,链接器将在dir/usr/lib中搜索库文件。
关掉Android Studio默认复制富文本(rich text)
富文本(rich text)和 纯文本(plain text) plain text format contains no formatting information, rich text format includes formatting details such as font size, style, color, and other elements like images, tables, and links. Android Studio(Idea)中复制代码默认复制的是富文本(rich text),需要从 Android Studio 中复制出代码整理文档时不胜其烦.
面向过程和面向对象
小弟以为差别已经体现在了名字上,顾名思义,面向过程即关注点在过程上,通过组合不同的函数(方法)实现某种功能;而面向对象关注点在对象(实例)上,由一个或多个对象的方法,借助属性,共同实现。 至于其他的都是上面的差异更具体的表现,而不是原因。
TextView setText发生了什么?
前置知识 # Span # 既然是setText,想必你一定听过Span的大名,借助Span和SpannableString就可以让文字不光是文字,文字颜色、背景颜色、文字点击、链接还可以自定义更复杂的效果,
WeakReference解决内存泄漏
内存泄漏是经常会遇到的问题,内存泄漏简单说就是已经分配出去的内存,不再使用时没有被正确释放,不能再次分配。代码中内存泄漏问题本质就是长生命周期的对象持有了短生命周期的对象,短生命周期对象不能被销毁。内存泄漏严重时会导致OOM。
20240527-20240531
这一周累死累活,熬到了周六,期间发现了自身存在的一些问题: Coding # 任务不清晰 一周都在缝缝补补,临近ddl还是不知道还有些完成了,哪些没完成 原因有几个: 事前没拆分 事中没记录 事后没总结 措施: 事前拆分任务,列表格 过程中更新表格,做记录同时追踪进度 总是把任务想的简单
gravity和layout_gravity
背景 # 从开始写Android不断地有人告诉我,用gravity和layout_gravity控制View的位置,总是不明白两者有什么差别(中途明白过,又忘了😭),又是怎么实现的,最近想起来,赶紧查一查。
我误会Android绘制了
背景 # 需求涉及到创建View,要求能在指定位置创建View。 在此之前的理解是需要等到View attach到window上才能获取到View的宽高。按照这种思路,先创建一个View,添加到父View,再调整View的位置,尝试后效果不是很理想,会有View位置的变化,视觉上看有闪烁的效果。
Android Resources匹配规则
总是不明白Android运行时使用哪个资源,资源匹配的规则是什么样的,找到对应文档,以此记录。 下方内容copy自官方文档,可直接访问查看。 表 2 按优先级顺序列出了有效的配置限定符您可以通过使用短划线分隔每个限定符,从而向一个目录名称添加多个限定符。如果对资源目录使用多个限定符,则必须按照表中所列顺序将相应限定符添加到目录名称中。
关于工作和自由
工作三年有余,逐渐对当初热爱的工作厌倦,每天是一眼望不到尽头的加班,不禁思考工作的意义是什么? 首先,工作的意义肯定是付出劳动后拿到报酬,这是最根本也是最主要的意义。但是,一个人的一生就是为了工作吗?从有独立的意识开始,到撒手人寰,得以悠闲度日的时间真的有多少呢,从找到第一份工作开始,到真的退休(甚至还要延迟退休)按照25岁开始算起,到60岁止,这最好的年华黄金时间都耗费在了工作上。