- 博客(92)
- 问答 (1)
- 收藏
- 关注
原创 Android nv21 缩放
此流程可以把整体时间缩减到3ms以下,经测试一般缩小16倍一个13M的nv21,用时1ms,压测偶现2ms,压测100次,出现4次3ms,其余都是3ms以下。所以总体流程的用时在7-10ms,虽然说可以接受,但如果把上述的裁剪、缩放、转jpeg的流程都放到C++里面,使用jni的方式去调用,应该能压缩到3ms。注意:这里的大图宽和高,与缩放后的宽和高直接的比例必须为8的整数被,否则会因不是8的整数倍导致uv采用不准确,而出图紫绿相间或者杂乱的情况;出图后经过算法,大图是有算法的,但是缩略图没有。
2024-11-28 10:58:33
723
原创 【无标题】
项目场景:提示:Android R camera逻辑 从photos->portrait->panorama:问题camera切换模式时,会先关闭当前模式的摄像头;在新的模式准备好后,重新打开摄像头。
2022-05-20 15:37:17
123
原创 camera 点击切换摄像头按钮的调用跟踪(二)
切换时间 private void doCameraSelect(String newCameraId) { LogHelper.i(TAG, "[doCameraSelect] + mVideoState = " + mVideoState); LogHelper.e(TAG, "doCameraSelect:="+System.currentTimeMillis()); if (getVideoState() == VideoState.ST
2022-05-17 15:18:27
416
原创 camera切换模式代码跟踪(二)
根据上文中的分析,整理正向流程。在QuickActivity的oncreate中调用oncreateTask,具体如下@Overrideprotected final void onCreate(Bundle bundle) { mExecutionStartNanoTime = SystemClock.elapsedRealtimeNanos(); logLifecycle("onCreate", true); mStartupOnCrea
2022-02-24 13:43:14
299
原创 camera切换模式代码跟踪(一)
平台Android S问题:切换到微距模式预览失败,但是camera没死,可以再切换到其他模式(正常)。初步怀疑是在微距模式预览参数配置问题,一下对微距模式跟踪一下。先从微距模式查找1、微距模式的目录包名:com.dream.camera.modules.macrophoto 类名:MacroPhotoModule.java2、查看在哪调用了该类由上图可见,只有ModulesInfo和CameraActivity两个类调用。其中Modules
2022-02-24 09:24:48
593
原创 camera 点击切换摄像头按钮的调用跟踪
环境AndroidR(11)camera2IDE为Android studio1、切换按钮的点击监听com.mediatek.camera.feature.setting.CameraSwitcher.java private View initView() { Activity activity = mApp.getActivity(); View switcher = activity.getLayoutInflater().inflate
2022-01-21 10:44:24
2733
原创 Android device monitor
一、Android device monitor 简介1.1、什么是 Android device monitor ?是一个源码工具,强大的工具,分析、跟踪、查找等,最重要的是就在sdk里,也就是说,他是很容易搞到的1.2、具体目录在这使用Ubuntu 20.04 环境,1.3目录在sdk/tools/monitor 就是这个monitor,1.4打开方式 具体执行命令为:./monitor图一就会看到有个工具起来了, 如下图起来后长这样,如下图3二、简单使用2.1 添加使用
2022-01-05 19:01:13
4879
原创 2021-05-19 权限动态申请
/** * 检查权限 */ private void deP() { /** * 第 1 步: 检查是否有相应的权限 */ boolean isAllGranted = checkPermissionAllGranted( new String[]{ Manifest.permission.READ_EXTERNAL_STO...
2021-05-19 09:18:00
687
1
原创 2021-05-18
Apache 的ant 解压缩 报错 java.lang.NoClassDefFoundError:org.apache.tools.zip 找不到折腾了好久,没有有效的解决方法要么中文乱码要么报上面错误查到这个文章的时候,想到是不是谷歌官方把“安全性”做的越来越高,导致的,换句话说,可以用历史版本的 ant.jar于是抱着试试看的态度(已经 折腾了四五个小时了,也不差这一会)换上了1.10.2的版本,果然能编译通过,我的天哪,我发现了个啥,我,,,赶紧从demo中撤身,换到项目中,果然能正
2021-05-18 10:22:12
80
原创 Cygwin 安装搭建遇到问题总结
Cygwin 安装时提示 “Could not download mirror sites list” 处理方法 setup-x86_64 --site http://mirrors.163.com/cygwin/ --only-site 转自https://blog.youkuaiyun.com/maxzhuang/article/details/109532471 感谢虽然我们上面安装好了 Cygwin,但还是很不方便,为什么呢?主要是因为 Cygwin目前设计的还不是很人性化。如果我们安装好Cygwin.
2021-02-23 10:04:20
832
转载 android 显示大图模糊问题
android 显示大图模糊问题使用Glide 版本为4.8.0/**/Glide.with(context).asBitmap().load(url).into(new SimpleTarget() {@Overridepublic void onResourceReady(@NonNull Bitmap resource, @Nullable Transition<? super Bitmap> transition) {imageView.setImageBitmap(res
2020-07-20 16:34:04
537
原创 自定义百分百布局适配
百分百布局适配import android.content.Context;import android.content.res.TypedArray;import android.util.AttributeSet;import android.view.View;import android.view.ViewGroup;import android.widget.RelativeLayout;public class PercentLayout extends RelativeL.
2020-06-28 08:16:42
270
原创 android studio 报错 unable to create debug bridge
升级完了studio后打开出现这个问题,然后就连接不上模拟器、手机了原因,\Sdk\platform-tools 目录下的adb.exe文件被修改,找个正常的替换下(从同事那copy)...
2019-06-17 10:01:52
1087
转载 Android RadioGroup 横向显示(X行X列)
原文RadioGroup多行显示参考:参考文章 (在模拟器不兼容)效果图 应该是:模拟器 如下图:核心代码import android.annotation.SuppressLint;import android.content.Context;import android.content.res.TypedArray;import android.os.Build;imp...
2019-06-10 12:07:55
1265
原创 as 抽抽了 INFO - e.project.sync.GradleSyncState - Gradle sync failed
昨天还运行的好好地,今天上班打卡as提示:“INFO - e.project.sync.GradleSyncState - Gradle sync failed: Illegal char <:> at index 8: D:/pos/D:.pos.iml (4 s 246 ms)”具体如下:INFO - e.project.sync.GradleSyncState - Gr...
2019-05-13 10:53:34
2786
转载 面试心得
转发:https://mp.weixin.qq.com/s?__biz=MzI3OTU0MzI4MQ==&mid=2247487335&idx=1&sn=dd6c4c1d3e6f60c443879826f94533e2&chksm=eb4763f9dc30eaef82031025e0a3241853c9d5bda6a9daaa170ca44f20fb28b82112...
2019-03-07 13:34:20
224
原创 shape
shape图形用来描述形状定义,形状图形的定义文件以shape元素为根节点, shape节点用来描述该形状图形是哪种几何图形。根节点shape下定义了6个子节点:corners(圆角):它用来描述4个圆角的规格定义。gradient(渐变):它用来描述形状内部的颜色渐变定义。padding(间隔):它用来描述形状图形与周围视图的间隔大小。size(尺寸):它用来描述形状图形的尺寸大小(宽...
2019-02-21 17:41:02
316
原创 drawbale小计
小计Android把所有显示出来的图形都抽象为Drawable(可绘制的)。这里的图形不止是图片,还包括色块、画板、背景等。drawable文件放在res目录的各个drawable目录下。\res\drawable一般存放的是描述性的XML文件,图片文件一般放在具体分辨率的drawable目录下。drawable-ldpi存放低分辨率的图片(如240×320),现在基本没有这样的智能手机了...
2019-02-20 20:21:02
156
原创 工具类--获取屏幕宽高
在这里插入图片描述// 获得屏幕的宽度public static int getScreenWidth(Context ctx) { // 从系统服务中获取窗口管理器 WindowManager wm = (WindowManager) ctx.getSystemService(Context.WINDOW_SERVICE); DisplayMetrics dm = n...
2019-02-20 19:59:59
363
转载 使用shape画虚线
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="line"> <size android:height="1dp"/> <stroke android:dashGap="3dp" andro
2019-02-20 19:58:07
1530
原创 Edittext (2)
自动完成编辑框AutoCompleteTextView自动完成编辑框一般用于搜索文本框,如在电商App的搜索框输入商品文字时,下方会自动弹出提示词列表。它的实现原理是:EditText结合监听器TextWatcher与下拉列表Spinner,一旦监控到EditText的文本发生变化,就自动弹出适配好的文字下拉列表,选中具体的下拉项向EditText填入相应文字。XML中的属性 AutoC...
2019-02-20 13:51:01
226
转载 getRawX()、getRawY()与getX()、getY()、getScrollX()与getScrollY()
使用MotionEvent中的getRawX()、getRawY()与getX()、getY()取得触摸点在X轴与Y轴上的距离这四个方法都返回一个float类型的参数,单位为像素(Pixel)。getRawX()、getRawY()返回的是触摸点相对于屏幕的位置,而getX()、getY()返回的则是触摸点相对于View的位置。getScrollX()与getScrollY()的值由调用V...
2019-01-08 21:07:56
409
原创 群英传之listview 二
listview扩展 :有弹性public class MyListView extends ListView { private static int mMaxOverDistance = 50; private Context mContext; public MyListView(Context context) { super(contex...
2019-01-07 20:39:59
127
原创 群英传 之listview 一
1、设置viewHolder2、item之间分割线 android:divider="@color/colorAccent" android:dividerHeight="2dp"3、去掉分割线 android:divider="@null" 把分割线设置为透明4、隐藏滚动条 android:scrollbars="none&q
2019-01-07 19:29:56
144
原创 什么是线程安全
java中的线程安全是什么: 就是线程同步的意思,就是当一个程序对一个线程安全的方法或者语句进行访问的时候,其他的不能再对他进行操作了,必须等到这次访问结束以后才能对这个线程安全的方法进行访问什么叫线程安全: 如果你的代码所在的进程中有多个线程在同时运行,而这些线程可能会同时运行这段代码。如果每次运行结果和单线程运行的结果是一样的,而且其他的变量的值也和预期的是一样的,就...
2019-01-06 21:11:21
18715
1
转载 DialogFragment 作为加载框填坑
1、重写onDismiss()方法当窗口关闭(执行了dismiss或者点击了外部区域,或者按了返回键),此方法执行。但是不要调用父类的onDismiss方法,否则当前fragment就会被移除。我们想要的是fragment还在,只是关闭掉内部弹框,也是隐藏视图。@Overridepublic void onDismiss(DialogInterface dialog) { //丢弃s...
2019-01-04 09:56:09
1072
原创 ANDROID群侠赚自定义控制(一)
//自定义测量值private int measureWidth(int measureSpe){ int result=0; int specMode=MeasureSpec.getMode(measureSpe);//从MeasureSpec中获取测量模式 int specSize=MeasureSpec.getSize(measureSpe);//从Measure...
2019-01-03 16:33:34
141
转载 EditText 更改回车
点击浏览器网址栏的时候,输入法软键盘右下角会变成“GO”或“前往;而我们点击Google搜索框,输入法软键盘右下角会变成 放大镜 或者“搜索”。而决定这个图标的变换的参数就是EditText中的 android:imeOptions属性。android:imeOptions的值有actionGo、 actionSend 、actionSearch、actionDone等设置 android:...
2019-01-02 09:20:17
1183
原创 okhttp请求返回值只有一个数值
返回值如上图所示,body里都是为空,code=200,就是拿不到值正确姿势如下:response.body().string() final Request request = new Request.Builder() .url(url) .build(); Call call = okHttpCl...
2018-12-25 14:38:14
706
原创 studio log小技巧 一
1、打一条debug级别的日志,输入logd,然后按下tab键,studio就会自动补全一条完整的打印语句。如果想打印warn级别的,输入logw,按下tab键,以此类推。2、在onCreate()方法外面输入logt,按下tab键,studio会自动生成一个以当前类名作为值得TAG常量,...
2018-12-16 13:22:52
396
原创 greendao接入sql和android cursor的简单应用
String sql="select PAYMENT_PAY_BY,sum(PAYMENT_MONEY) from PAYMENT where SYSTEM_BOOK_CODE = ? " + "and BRANCH_NUM= ? and SHIFT_TABLE_NUM=? and SHIFT_TABLE_BIZDAY=? ...
2018-12-14 13:42:27
1493
原创 greendao 多表查询
QueryBuilder<User> queryBuilder = userDao.queryBuilder();queryBuilder.join(Address.class, AddressDao.Properties.userId) .where(AddressDao.Properties.Street.eq("Sesame Street"));List<User...
2018-12-14 10:15:57
3580
原创 fragment hide /show 切换调用的生命周期方法
@Overridepublic void onHiddenChanged(boolean hidden) { super.onHiddenChanged(hidden); if (hidden) { //不在最前端界面显示 mVideoView.pause(); } else { //重新显示到最前端 mVideoView.start...
2018-12-14 09:22:00
534
原创 greendao 踩坑 之主键long和Long
如果数据类型long没有大写,第一条数据会被第二天数据覆盖,也就是说,主键的自增长无效用了一上午的时间领悟到的,多么痛的领悟0.0,在此mark一下...
2018-12-12 14:19:10
2659
转载 greendao 模糊查询 踩坑 一
原文:https://blog.youkuaiyun.com/shangming150/article/details/79034278?utm_source=blogxgwz8#commentBox项目中运用到了Greendao,有时候对数据库某些记录进行查询时,需要用到模糊查询,这里介绍一些greendao的模糊查询方法。greendao模糊查询提供了like函数,具体的使用方法如下:mqBu...
2018-12-11 11:01:16
808
空空如也
Android webview H5 视频播放 厂商机型兼容
2017-03-23
TA创建的收藏夹 TA关注的收藏夹
TA关注的人