
技术
文章平均质量分 83
skycnlr
做简单的人 做简单的事 愉快一生
展开
-
ijkplyer和Mediaplayer倍数播放
倍速播放的原理主要包括视频帧率和音频重采样两个方面。倍速播放视频时,主要是通过改变视频的播放帧率来实现。例如,如果原始视频的帧率为30帧每秒(fps),在2倍速播放时,帧率提升到60fps,这意味着每秒钟播放的帧数翻倍,从而加快了视频的播放速度。这种帧率的调整要求播放器有足够的解码能力来处理更高的帧率。音频倍速播放则是通过音频重采样来实现。重采样的原理是根据播放速度调整采样率。原创 2025-01-22 10:35:57 · 1008 阅读 · 0 评论 -
Android 类加载器特性说明
Android 插件化基础(一)前言学习插件,要先了解上一篇Android动态加载器。因为这篇文章已经说到了类加载器的一个特性,隔离:类加载器可以实现隔离(即各个模块独立)。所以,类加载器是实现插件化一个很重要的基础。那可能会有人问,既然各个模块独立了,怎么实现多个模块的数据访问呢?其实,上篇文章Android动态加载器也说到了加载器的共享特性,利用这个特性,数据访问也就清晰了。那么,通过举例...原创 2019-01-14 10:52:01 · 190 阅读 · 0 评论 -
Android sdk版本号和API级别的对照表
Android SDK版本号与API级别的对照表对应关系可以参考官网:https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels API 级别是一个对 Android 平台版本提供的框架 API 修订版进行唯一标识的整数值。Android 平台提供了一种框架 API,应用可利用它与转载 2018-01-12 10:31:18 · 15306 阅读 · 0 评论 -
java基础之变量覆盖?
很多人还在想这样一个问题:java的变量能被覆盖吗?其实java的覆盖是指方法来说的,变量是不能覆盖的。如下:public class Test { public static void main(String args[]) { A a = new B(); System.out.println(a.i); Sy原创 2017-12-04 20:46:34 · 1070 阅读 · 0 评论 -
idea编译出现超出方法数错误的解决方法
Android打包apk出现以下错误: Conversion to Dalvik format failed: Unable to execute dex: method ID not in [0, 0xffff]: 65536 原因是Android应用的方法总数有限制,超过了打包就不成功。 具体是为什么呢? 原因是Android平台的Java虚拟机Dalvik在执行原创 2017-05-02 11:45:12 · 1479 阅读 · 0 评论 -
adb input 命令输入文本功能介绍
最近帮同事做一个播放器的播放验证功能。就是输入播放地址,点击播放看是否能正常播放、seek等。他给我一个apk,打开后界面是这样的: 一个文本框(需要收到输入播放地址),一个播放按钮。 看着是没有啥问题,不过我是运行到电视或者机顶盒上。头疼了,文本框?我每次要用遥控器输入播放地址,并且地址还很长,输错了还要重新输入,挺麻烦的呀。旁边的大师看到了,过来说:你可以用input命令,输原创 2017-03-31 10:31:50 · 27835 阅读 · 0 评论 -
浅谈系统对app内存限制优化
上一篇《关于bitmap的一些知识》有提到: Android系统分配给每个应用程序的内存是有限的(在Android 3.1以及更高的版本中,可以在AndroidManifest.xml的application标签中增加一个值等于“true”的android:largeHeap属性来通知Dalvik虚拟机应用程序需要使用较大的Java Heap)。那么今天就来详细的讲解下 。 每个app原创 2017-03-14 10:09:35 · 1104 阅读 · 1 评论 -
java的线程池ExecutorService简单介绍
做java的开发,线程是经常用的。最简单的使用大家都应该清楚,如继承Thread类、实现Runnable接口。这样,是没有问题。但是当我们需要频繁的处理一些任务时候,就要多次创建线程和处理线程关闭等回收工作。 这样比较麻烦。并且如果同时不限制线程格式,很多个任务一起执行,对性能有一定影响。所以,java提供了Executor线程池来处理并发任务,并且可以支持4种模式: 1.newCach原创 2017-03-05 22:32:53 · 519 阅读 · 0 评论 -
android绘制文本
android中怎么在画布上绘制文本呢?大家知道anroid提供了一个方法: public void drawText(String text, float x, float y, Paint paint) ; 这个方法中x,y不是指文本在cavas的左上角的位置,使用的时候要注意了。否则绘制出来的文本的位置和预想的不一样。 参考http://blog.原创 2017-03-02 09:28:38 · 799 阅读 · 0 评论 -
android原生TextView设置字体大小
首先android中对于文本绘制时候对应到到屏幕上都是一个一个的像素。 同一个文本,在不同分辨率的设备上,所占的像素不一样。 例如: 图片大小为80×32像素在720P上看着合适,但是到1080P上((dpi)更高的新显示器)则用户界面会显得很小。在有些情况下,用户界面可能会小到难以看清内容。由此我们采用与分辨率无关的度量单位来开发程序就能够解决这个问题。原创 2017-01-23 14:35:27 · 6530 阅读 · 0 评论 -
android原生TextView怎么控制是否开始跑走马灯
在实际项目中,经常遇到文本超出控件宽度,显示不全,此时android提供了一个方法: void android.widget.TextView.setEllipsize(TruncateAt where) 此方法意思就是设置文本超出宽度的展示效果。TruncateAt定义如下: public static enum TruncateAt { END原创 2017-01-23 10:19:04 · 621 阅读 · 0 评论 -
android绘制圆角矩形
android中可以绘制圆角矩形。 1.利用画布cavas绘制 如果提供了一个方法可以在画布上绘制圆角矩形: 函数名称:public void drawRoundRect (RectF rect, float rx, float ry, Paint paint) 参数说明: rect:RectF对象。原创 2017-03-01 09:25:22 · 18355 阅读 · 0 评论 -
SVG基本语法与标签介绍
本文转自 http://blog.youkuaiyun.com/dai_qingyun/article/details/52856919#t0 SVG(Scalable Vector Graphics)is an XML-based Language for creating graphics.SVG支持css,这一点有效的将图形和样式区分开。 SVG的应用: 1、绘图转载 2017-02-07 12:42:19 · 1156 阅读 · 0 评论 -
SVG图形初探
在Android 5.0支持了SVG图形,但是对于不常用SVG图形的我来说,还真不是怎么了解这个格式的图形。下面是我查阅一些资料找到的一些信息。 SVG是目前十分流行的图像文件格式了。是一种开放标准的矢量图形语言,使用SVG格式我们可以直接用代码来描绘图像,可以用任何文字处理工具打开svg图像,通过改变部分代码来使图像具有交互功能,并可以随时插入到HTML中通过浏览器(如火狐浏览器原创 2017-02-06 17:19:21 · 528 阅读 · 0 评论