自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(23)
  • 收藏
  • 关注

原创 Mac 更新port卡住怎么办?

安装好了macport后,很长时间后发现需要用的时候,macport版本太旧需要更新,咱直接sudo port -vupdate行不通,所以只能去查了。网上找了一大堆,都没得用,反而还要因为网络问题头疼。虽然都是鸡肋,但是还是有可取之处。一般更新port,都会卡在sync port tree,总有一些文章会提到这个网址https://trac.macports.org/wiki/howto/PortTreeTarball,我觉得没毛病,发现按照第一条指示,有时灵有时不灵,然后我就用了后面一条.

2020-12-16 11:22:59 900 1

原创 Mac三种姿势安装brew

网上最多的是下面这个,但也不灵。ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"点开网址结果是这样的:不行就下面这个/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"还是不行那就偷点懒,直接把网页内容拷贝到sh文件

2020-12-08 11:04:06 1206 1

原创 Mac Pro 配置JDK 环境变量及切换多个JDK

一、正常去oracle下载Java SE 8.x 或7.xhttps://www.oracle.com/cn/java/technologies/oracle-java-archive-downloads.html 这个是当前可下载老版本JDK的网址一般流程:https://www.oracle.com/cn/java/technologies/javase-downloads.html 这个是当前可下载新版本的JDK的网址也就是官网(不排除以后会重构网站)总之你翻到最下面或查找 Ja...

2020-07-15 11:42:47 889

原创 简述Animation和Animator的本质区别

如何更好的理解Animation和Animator在 Android中不同场景下的使用,翻看源码难以总结,从使用经验上总结更好描述其中差别。

2022-07-25 15:14:39 1210

原创 onActivityResult intent 为null

本来是个基础题,结果我硬是没整明白,大概这就是义务教育的悲哀吧,用例过多,抄来抄去太死板了。好在能写demo和查阅过网上的文章,在观察到绝大多数都是提什么lunchmode,我想这肯定是有道理的,于是排查了一遍,果然不出意外,似是只有同栈的父子activity才能实现简单的setResult数据互相传递。与lunchmode有关的应该还有启动标记flag,我设置了NEW_TASK,简单明了,鱼唇如我。...

2022-02-16 16:44:09 439

原创 MediaPlayer + SurfaceView 傻瓜式操作

VideoView改造源码,学习MediaPlayer + SurfaceView的搭配使用,学习如何播放asset目录下的音视频文件。

2021-12-24 11:28:11 1933

原创 白天黑夜模式切换引起的activity销毁重启

当从深色模式切换到浅色模式时,activity会销毁重新加载,但往往是从xml文件开始加载,而动态设置的一些值不会保存,同时如果页面足够复杂,被打回到起点是很痛苦的。对于这一点,可以在AndroidManifest文件中activity标签后设置configChanges = "uiMode"可以保证用户在模式切换时不会重启activity。但是模式切换并没有完成。所以如果还需要切换模式的话,可以考虑重写OnConfigurationChanged()方法,调用performRefres

2021-11-04 16:04:30 3878 3

原创 OkHttp 记一次疯狂Timeout异常的经历

突然想起CSDN的账号了,顺便做一下记录。 前段时间遇到一个问题,对HttpURLConnection多任务断点续传的下载模块进行一次改动,要求使用OkHttp。那么无非就是connection变成了response,全程改动没遇到困难,发现代码很完美,于是开始运行。 运行一段时间后,发现问题接踵而至,一会read出现Timeout异常,一会onFailure返回Timeout异常,即便是尝试获取一次文件大小的请求都会Timeout。有意思的是第一次下载一定没事,只要暂停或尝试二...

2021-07-28 15:10:09 4265 1

原创 Glide怎么画圆角,进来看看

众所周知,当你把布局搞定后,图片设置完后,可能会由于UX或UI的要求,为图片添加各种特效。结果有可能就会导致这个图片本应该填充为圆角的图片,因为特效变成矩形了。 为了彻底解决圆角问题,那肯定是没有比画一个圆角图片更让人省心的了。public class GlideRoundRectTransform extends BitmapTransformation { private static Context mContext; public GlideRoundRe...

2020-11-06 18:12:17 1595

原创 RecyclerView.notifyItemRangeChanged 简要

notifyItemRangeChanged(positionStart, itemCount);第一个参数是起始位置,第二个参数是recyclerview的itemview总数方法内容是把从positionStart之后itemCount数目的item项刷新一遍,有动画效果。相对于notifyDataSetChanged,后者是全部刷新一遍,但是没有动画效果。所以只要调用notifyItemRangeXXX进行增删操作时,会影响到操作位后边所有的item,所以都需要调用一次notifyIt

2020-08-04 15:34:35 5002

原创 AppleScript 小试牛刀

为了偷个懒去查文档,不得不用上AppleScript。。。不得不说这脚本写完后,用起来是真的舒心api文档:https://tool.oschina.net/apidocson run tell application "Safari" reopen activate if document = null then make new document at end of documents with properties {URL:"https://tool.oschina

2020-08-03 11:42:21 308

原创 高效学习与高度自律的可行性

要做到高效学习这一步,首先得高度自律。研究表明,习惯会影响一个人的潜意识行为甚至改造性格。习惯本身是依赖长期规律性的行为形成的,因此只需要强制要求自己在某些时间段做什么和不做什么,不能被任何非不可抗外界因素干扰打断。久而久之,就会自觉的遵循这个规律,从而开始行为自律,然后习惯自律,最后形成高度自律。只要掌握高度自律,任何学习都只是一个时间上的投入。至于学习效率,只要你利用自律达成高度专注,随着经验的丰富,方法论也会更新,最终效率自然会提升。 我曾经在网上看过一个叫《秘密》的书籍,全篇都在讲...

2020-07-23 12:13:35 360

原创 接口的回调

回调的含义 回调是对象A的动作c期待对象B的动作b的结果,而对象B的动作b期待对象A的动作a的结果,此时就是动作c不直接执行动作a而是让对象b回调执行动作a。回调的作用 为什么要间接调用呢,因为原本的动作c需要完成大量步骤,最后才执行动作a。因此就得考虑中间的步骤是否有必要单独分离出去,变成另一个对象的所有动作,可以使得代码更简洁、动作的思路更清晰,方便修正。而且对象A和对象B的负担都不沉重,可以理解为代码不臃肿。...

2020-07-22 17:00:17 81

原创 Mac 解压asar

$ #check brew$ brew -v$ # update brew$ brew update $ #如果不行,那就切换更新源$ cd "$(brew --repo)"$ #check git remote status $ git remote -v$ #换成其他的源,至于使用哪个网址建议看情况网上查$ git remote set-url origin https:...

2020-01-14 14:11:35 2685 2

原创 MediaCodec实现转码(重置codec)

此文可用于学习MediaCodec的使用,没有涉及到转码所需的格式修改。与低配版文件转码https://blog.csdn.net/h2948203216/article/details/102838871类似,都是多线程跑的转码。大致流程也没什么修改,代码注释都有写,也就不多说了。唯一的臭毛病就是都在每一段结束后塞EOF阻塞编解码器,导致需要初始化codec或者重置codec。...

2019-12-25 10:57:13 1436 1

原创 MediaCodec实现(不改格式)精致转码

此文仅用于学习MediaCodec及相关类很实用。基于上一个文章 https://blog.csdn.net/h2948203216/article/details/103695128花了一个半月进行修改,可以说很难找到毛病了,当然也不是自夸,主要是被导师逼着一直改这一个demo,一段时间后,想放弃也不想放弃,就干脆仔仔细细写下去了。没有再沿用上篇转码的代码了,而是升级了新的方式,...

2019-12-25 10:44:55 465

原创 为什么Java中类是单继承,而接口是多继承?

1、类继承会导致派生类如果不需要覆盖基类的方法时,基类被继承过来的方法仍可能有实现的细节即方法体,那么菱形继承问题是多继承下的产物:B,C继承A,D继承B,C,在不考虑B,C为抽象类且方法不存在被实现的方法时,D会继承B,C的所有方法,那么D的方法继承的是B,C哪个类的方法呢?或许已经存在解决办法,但是明显存在不安全因素。(这个地方我也没去试,因为这个问题C++早就给出了解决方案,所以试也试不出...

2019-12-06 15:27:56 1382

原创 listview + checkBox 的结合

由于正在学习MediaCodec、MediaExtractor等工具,并在写一个项目demo项目的目的是完成视频的转码、裁剪、合并、播放在合并的时候,由于考虑到用户需要可选的合并视频,因为需要提供一个可视化的列表供其选择,因此listview+checkBox就不得不使用了。标配的MyAdapter配置package com.example.myapplication3.Util...

2019-11-05 17:20:38 299

原创 MediaCodec完成低配版文件转码(中间不生成文件)

文件转码:demux -> decode -> encode -> mux(解封装->解码->编码->封装)对了,这里我并没有修改格式,只是走一个流程,中间的格式修改由于涉及很多东西并没有写出来,因此算的上是阉割版的,辅助学习的。分成两步骤,两渠道。两步骤:解封装->解码 inputThread编码->封装 outputThr...

2019-10-31 16:13:55 382

原创 MediaExtractor and MediaMuxer的使用 (重制版)

过了一个月了,一直在学习MediaCodec等工具,回头翻了一下上月demux and mux的博客,发现丑到爆炸,于是选择重制,懒得删了。MediaExtractor 的使用:在new 一个MediaExtractor的对象后,需要setDataSource,在这里我发现可以不必写到sd卡再设置。 srcFilePath = getResources().openRawResour...

2019-10-31 15:22:37 256

原创 使用MediaExtractor和MediaMuxer完成视频的抽取并生成新的视频

不多说,上代码这里是关于对视频抽取的直接操作public class ExtractorMuxer { public static void divideMedia (@Nullable String srcPath, @Nullable String dstPath) throws IOException { MediaExtractor extractor...

2019-09-30 14:55:45 711

原创 正确理解Handler机制

正确姿势理解Handler机制Handler机制的组成元素:Looper对象、Handler对象、线程线程通过Looper.prepare()方法设置当前线程绑定一个Looper对象 紧接着创建一个Handler对象,Handler类会默认设置好Looper对象、MessageQueue,如果在创建Handler对象之前没有调用prepare()方法,就会抛出异常结束程序 到此才算是做...

2019-04-07 23:10:10 135

原创 为什么不能在方法内定义静态变量

1.由于JAVA规定,方法内定义的都是局部临时变量,且由于内存分配,会创建一个栈帧保存局部变量表、操作数栈,动态链栈等,在方法结束后,栈帧会出栈并释放掉所有局部变量。这个时候定义一个静态变量那会不会造成内存泄漏呢?会的,由于静态变量生命周期同类的对象一致。因此不能。2.在人性化的设计中,静态变量大都用来供外界访问或类中各个方法共享。你在一个方法中定义了一个静态变量,那对于其他方法来说,前者内部...

2019-03-21 10:33:54 2500 5

空空如也

空空如也

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

TA关注的人

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