- 博客(27)
- 资源 (2)
- 收藏
- 关注
原创 React Native 实现滑一点点内容区块指示器也滑一点点
所以X= A/B * C,把ABC数据带进来,即可算出指示器滑动距离,并设置给指示器item的左间距。5.根据 滑动距离/列表可滑宽度 = 滑动距离/指示器可滑宽度,得出A/B=X/C,效果图如上,内容滑一点点,指示器也按比例话一点点,列表宽度跟数据有关。1.监听列表滑动事件,获取列表横向滑动距离,假设为A;3.获取指示器宽度,及指示器可滑动的宽度;2.获取列表的宽度,及列表可滑动的宽度,假设为B;4.计算指示器滑动距离,假设为X;代码实现如下:UI样式如下。
2025-03-04 18:11:43
408
原创 Android视频流畅播放要素
要让 Android 设备流畅播放视频,需根据设备性能(低端、中端、高端)和播放场景(本地播放、在线流媒体)动态调整视频参数。在播放器(如 VLC、MX Player)中开启 硬解(HW Decoder) 选项。13.编码:H.265(HEVC)或 AV1(需 Android 12+ 支持)9.编码:H.264 High Profile 或 H.265(若支持硬解)3.分辨率:720p(1280×720)或 480p(854×480)27.低端设备:720p + H.264 + 硬解 + 低码率。
2025-03-03 11:41:28
963
原创 视频流畅播放相关因素
流畅播放= 合适的视频参数(编码/分辨率) + 硬件硬解能力 + 稳定网络(流媒体) + 播放器优化。1.问题:高分辨率(如4K)或高帧率(如60fps)视频对解码能力要求更高,低性能设备可能无法实时处理。42.更新:安装最新驱动(如NVIDIA Studio驱动对视频处理优化)。44.低延迟:WebRTC( RTMP(1-3s) > HLS(10s+)。10.使用动态码率(VBR)代替恒定码率(CBR),平衡质量与文件大小。14.硬件解码(GPU/DSP加速)效率远高于软件解码(CPU)。
2025-03-03 11:39:00
598
原创 Android用ExoPlayer获取视频正确的尺寸
最近在实现视频预加载功能,遇到了较多的疑问未解决,但机缘巧合解决了困扰我很久的某些视频展示异常的问题(被压扁),如下图嗯,用户问到了pixelWidthHeightRatio等于1.0和0.31640625有什么区别。我需要先回顾一下之前讨论的内容,确保自己对这个参数的理解正确。之前讨论过ExoPlayer中视频尺寸的问题,特别是旋转和像素宽高比的影响。用户现在可能在处理视频显示尺寸的问题,特别是在获取到的视频宽高和实际下载的尺寸不符时,遇到的困惑。
2025-02-28 15:17:24
1189
原创 ConstraintLayout学习心得
ConstraintLayout这个控件之前也多次查过资料学习,但每次都没有掌握要点,今天遇到一个bug,再次回来查资料,觉着这个简书写得简单易懂,所以写个笔记,连接如下https://www.jianshu.com/p/17ec9bd6ca8a...
2020-02-17 22:05:13
177
原创 Android 高斯模糊
package com.pingan.carowner.servicewindow.utils;import android.annotation.TargetApi;import android.content.Context;import android.graphics.Bitmap;import android.graphics.BitmapFactory;import andr...
2020-02-12 10:55:57
379
2
原创 android ViewPager高度与图片的高度自适应
android ViewPager高度与图片的高度自适应背景神奇之路开启背景在大众点评app上,看到一个神奇的交互:ViewPager的高度会随着图片的高度而变化,且丝滑进行图片间的切换,于是乎好奇的小白就去网上查了下相关的知识(ctr+c & ctr+v),忽然发现这高级的交互一行代码就搞定了,惊奇之余,小白写下了这篇文章,以便后续查阅(ctr+c & ctr+v)。神奇之...
2019-08-05 11:57:55
1303
原创 android依赖包仅在debug生效配置
android依赖包仅在debug生效诞生冒险诞生这是一篇来自小白的android研发笔记,近期小白接到了一项来自领导的指示:分析小白负责的app内存使用情况,及给出内存优化的方案,对app进行内存优化。对于小白来说,这是一项艰巨的任务,但是为了饭碗,小白到处搜索求学,买课程。终于对android内存分析有了一定的了解(内存分析及优化,这里就不说了,因为到目前为止,小白也还未入门),到今天为止...
2019-06-14 16:53:44
1346
原创 recyclerview 行间距
public class BottomanSpaceItemDecoration extends RecyclerView.ItemDecoration { private int mSpace; private int mPosition; private Paint paint; private CircleSquareRvAdapter mRvAdapter;...
2018-07-09 19:37:41
1642
原创 Android浅析图片加载glide
Glide和Picasso直观的比较Glide显示图片的速度比Picasso快,因为Glide会自动按照ImageView的大小去网络加载图片进内存,而Picasso按照图片的完全尺寸加载到内存,然后交给GPU实时重绘大小,所以Picasso和Glide加载同一张图片时,Glide占用的内存比Picasso少很多,Picasso也支持加载固定尺寸的图片,但是需要手动去计算控件的大小; 在磁盘缓存方
2017-07-12 15:32:05
322
原创 Android自定义相机
public class CameraActivity extends BaseActivity implements View.OnClickListener { //存放路径 public static final String UPLOAD_PATH = Constants.SDCARD_PATH + "upload/claim/"; publi
2017-02-27 15:36:06
443
原创 Android 自定义View画天气预报折线图
效果图如下: 刚开始尝试用第三方画曲线的框架来画效果图,后来发现曲线间的阴影当有负数的度数的时候画不出来,而且不需要点击放大、点点可点的效果,用框架显得很臃肿,所以最后用自定义View来画的折线图。自定义画折线图的大致思路:这个图是有多个四边形组成的(4个点连接起来就是一个四边形),两边延伸:添加四个多余的点,将左右的边距设置成负数即可。代码如下:public class WeatherChart
2016-12-19 13:47:58
5481
2
原创 Android开发——webview获取H5的Cookie并保存在本地
最近项目遇到一个新需求,H5的登录态跟APP的登录态分开,所以需要记住H5的登录状态,但是我的webview app已退出再次打开,cookie就被清空(这个找了很久也没会找到原因)。我的解决方法是:获取H5的cookie,保存在本地数据库,·再次进入webview判断是否有Cookie,如果没有,从本地数据库取出Cookie并设置给webview。 webview管理cookie的机制:
2016-12-19 10:26:38
10593
1
原创 Java基础—反射
——- android培训、java培训、期待与您交流! ———- 一、反射 反射就是将java类中的成分映射成相应的java类。比如:构造函数——Constructor,成员变量——Field,成员函数——Method,包——Package等。 二、反射的基石——Class类 java中的类是用于描述事物的(事物的属性、事物的行为),Class类是用于描述java中的类,比如:j
2015-06-12 16:12:20
388
原创 Java基础—继承
——- android培训、java培训、期待与您交流! ———- 继承:多个类有共同的属性时,将其提取出来房子啊一个类中描述,其他的类只要继承该类,无需再对共同的属性进行描述,就可以使用这些属性。继承者叫子类,被继承者叫父类。继承提高了代码的复用性,并使类与类之间产生关系,因此有了多态(父类引用指向子类对象)的特性。 this与super:this代表本类对象的引用,super代表父类
2015-06-11 09:32:40
504
原创 Java基础—面向对象
——- android培训、java培训、期待与您交流! ———- java是面对对象的计算机语言,在没接触java以前,此句就耳熟能详。但是具体什么意思,确一窍不通。看了毕老师的视频,如醍醐灌顶。结合老师的讲解和我的了解,写了这篇博客。 面向对象是相对于面向过程而言的。面向对象,将功能封装进对象,强调的是具备一定功能的对象。面向过程强调的是功能。比如C语言,在编程的时候,思考方式是如何实现
2015-06-11 09:28:17
498
原创 Java基础—选择排序,冒泡排序和折半查找
——- android培训、java培训、期待与您交流! ———- 选择排序是最符合人思考方式的排序方式,最容易理解,但是对于计算机来说是比较消耗内存的。冒泡排序较于选择排序,比较次数减少,从而提高了内存的利用率。折半查找的前提:数组必须是有序的,相比于一般的查找方式也提高了效率。通过老师视频的学习,写了以下的代码: 1、选择排序:/* 有一个数组:{9,56,78,23,50,40,30,
2015-06-11 09:22:47
471
原创 Java基础—IO流
——- android培训、java培训、期待与您交流! ———- IO流常用基类 字符流基类:Reader、Writer,基本数据:字符 字节流基类:OutputStream、InputStream,基本数据:字节 这四个类都是抽象的,必须由子类复写才能使用。IO流是用来操作数据的,数据的最基本体现形式是文件,描述该操作的类是:FileReader、FileWriter或FileOutpu
2015-06-03 13:26:09
447
原创 Java基础—集合
——- android培训、java培训、期待与您交流! ———- 集合(Collection)是一个容器,长度可变,里面存储的是对象,可以存储不同类型的对象。 Collection |–List |–ArrayList |–LinckedList |–Vector |–Set |–HashSet |–TreeSet为什么有
2015-06-02 15:48:54
381
原创 Java基础—String类
——- android培训、java培训、期待与您交流! ———- String是一个特殊的对象,在计算机里是很重要的角色,很多都是以String的形式存储在计算机里。
2015-06-01 17:38:42
337
原创 Java基础—线程
——- android培训、java培训、期待与您交流! ———- 在软件运行时,可以真实看到的是进程,每个进程在执行时都有顺序,该顺序是一个执行路径,即控制单元。线程是进程中一个独立的控制单元,线程在控制进程的执行,一个进程中至少有一个线程。在java中,运行代码存在于main函数里的线程叫主线程。 线程的定义方式由两种,继承和实现接口。继承:1、定义类并继承Thread类,2、复写Thr
2015-06-01 00:48:14
441
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人