- 博客(83)
- 资源 (4)
- 问答 (3)
- 收藏
- 关注
原创 compose for desktop
Compose 类型稳定性注解:@Stable & @Immutable。then 叠加修饰符功能的作用。以上先测量宽高再布局。
2024-06-12 16:44:22 155
原创 RecyclerView面试问答
稍微仔细看的话就能发现scrap缓存有两个成员mChangedScrap和mAttachedScrap,它们保存的对象有些不一样,一般调用adapter的notifyItemRangeChanged被移除的viewholder会保存到mChangedScrap,其余的notify系列方法(不包括notifyDataSetChanged)移除的viewholder会被保存到mAttachedScrap中。在RecyclerView的元素比较高,一屏只能显示一个元素的时候,第一次滑动到第二个元素会卡顿。
2023-08-25 18:51:51 552
原创 本科论文保姆级编写规范及技巧
使用环境Mac os,WPS 3.9.3摘要之前无关目录设置为普通文本摘要之后显示罗马数字,绪论开始显示普通数字,页码从1开始并且在本页及之后应用。页眉引用标题
2022-04-07 22:44:06 435
转载 Android库Proguard程序包混淆会产生a.a.a.a.a冲突
我正在编写2个Android库.当我对两者进行混淆时,它们两者中的混淆代码都包含一个名为a.a.a.a.a的类,当尝试在同一应用程序中使用这两个库时,会导致以下错误:在模块classes.jar(lib1)和classes.jar(lib2)中找到重复的class a.a.a.a如何防止Proguard混淆前三个软件包而最终导致:my.domain.lib1.a.a和my.domain.lib2.a.a?编辑:混淆是在构建库时发生的,而不是在构建应用程序时发生的.解决方案这可以通过将-repac
2021-10-29 10:33:59 2087
转载 php根据图片api动态生成图片
topthink/think-imagehttps://www.kancloud.cn/manual/thinkphp5/177530根据拼接图片路径获取图片,这样可以减少图片服务器的带宽占用,常见有阿里云,七牛云的图像处理例如 原图大小是720*720http://192.168.0.24:63343/storage/avatar/20210531/8ac683182527aa520f0a8de8a9ff6a82.jpg这样拿到的是360*360的http://192.168.0.24:633
2021-06-01 14:32:37 678
转载 基于用户投票的排名算法
目录 基于用户投票的排名算法(一):Delicious和Hacker News 基于用户投票的排名算法(二):Reddit 基于用户投票的排名算法(三):Stack Overflow 基于用户投票的排名算法(四):牛顿冷却定律 基于用户投票的排名算法(五):威尔逊区间 基于用户投票的排名算法(六):贝叶斯平均 基于用户投票的排名算法(一):Delicious和Hacker News 互联网的出现,意味着"信息大爆炸"。 用户担心的,不再...
2021-05-20 12:01:12 702
原创 【SQL】IN、FIELD、LIKE及Sqlite中的问题
IN用于多条目查找,FIELD用于指定查找到后根据请求的顺序返回select * from table where id IN (3,6,9,1,2,5,8,7) order by field(id,3,6,9,1,2,5,8,7); 模糊查找例如查找,红色,蓝色,红,蓝,色,休闲sql这种会把色,休,或者闲,或者色休,闲蓝等也搜索出来,如果不想可以不要[],详情查看LIKE相关。select * from clothes where tags like '%[红色休闲蓝色]%'Sqlite
2021-03-09 11:41:28 590
转载 【Flutter】:Curve
转自:https://blog.csdn.net/qq_17766199/article/details/95632571 Curves中一共38中动画曲线,我将文档中提供的MP4转为了GIF。方便大家使用动画时查找使用。 网页上显示的GIF速度会有点慢,介意的话可以下载下来本地查看: 链接: https://pan.baidu.com/s/1c7AACHhAmvhysl2k2XgQFA 提取码: ppbe 2020.12.28补充:
2021-01-30 10:32:49 357
原创 【Flutter】:安卓向
Button对应FlatButton,RaiseButton,IconButton等Dialog对应的showDialog,showGeneralDialog等wrap_contentmainAxisSize: MainAxisSize.minclickListenerGestureDetector/InwellweightFlexible/Expandedhttp://laomengit.com/flutter/widgets/Flexible.html#flexible-2
2021-01-28 11:54:38 660
转载 【SQL】模糊查找(like)
https://www.cnblogs.com/DataBase-123/p/5663042.htmlselect UserId,UserName,Name,Sex,Birthday,Height,Weight,Role from xqhit_Userswhere UserName like “%yym%” limit 50 offset 0name like “%values%” 或 name like ‘%values%’ 都可以。select * from db.table limit 50
2021-01-27 09:59:39 6374
转载 【Flutter】:Flutter 层异常捕获
Flutter 开发(11):Flutter 层异常捕获 发表于2021 2019-12-27 | 分类于 人工智能 | 没有评论 Flutter 中的异常可以分为同步异常和异步异常。通常情况下我们可以使用 try-catch 捕获同步异常,而异步异常则需要使用 Flutter 提供的其他 API。使用 try-catch 捕获异常与 Java 语言类似的,Dart 中提供了 try-catch 代码块用于对同步异常的捕获:F...
2021-01-26 17:19:48 1658
原创 【Flutter】入门思想,上岸必备
时隔一年,这回上岸了。兜兜转转,从去年无意识的以单纯学习为目的了解了Flutter的设计思维到今年再一次上手多了一些体会。每学习新知识都会经历一个过程,即从陌生到熟悉,从熟悉到熟练。个人的思考结果是这样的首先明白setState,相当于触发刷新,全局的,我们也可以局部刷新,类似用到订阅者观察者思想的provider。如果是写mvvm的应该会很明白,写mvc,mvp的可能会很别扭,状态已经预先根据模型判断好了,这个在我没写mvvm之前刚接触flutter那会很抵触。其次明白,一切皆Widge
2021-01-19 16:41:47 172
原创 搞安卓的搞后台之mac+Think php6.0不完全入门
入门教程https://www.php.cn/course/1045.html快速撸后台https://www.ixigua.com/6834454132674265603?logTag=K_js6Mawm6bq-LGnwEIV-mac自带apache根目录修改https://jingyan.baidu.com/article/922554467d763b851648f4dc.htmlhttps://blog.csdn.net/seafishyls/article/details/4454680
2020-08-15 02:57:22 238 1
原创 2020/08/15日常体会
最近补充学习了一下jetpack的几个库发现Paging-Ex跟MergeAdapter有些重复,databinding跟MVVM的搭配也不是很协调。讲道理,livedata+协程 或者livedata+Rxjava从0开始做项目的时候,会犹豫,用全新的架构方式写,还是先用以前的方案写,写完再重构,后面发现,还是得将新的内容结合旧的架构重新构建一个全新的框架。在确定方案的过程中,采用的单Activity多Fragment的方式,也考虑过字节的scene的方案,后面觉得还是按照官方的方案走吧,至少对我的
2020-08-15 02:55:46 128
原创 不用RecyclerView任意布局作为RadioGroup
目前RadioGroup继承LinearLayout,我就觉得很智障咯,实现原理也很简单,从RadioGroup源码我们可以看到就是切换选中item的状态和之前选中按钮的状态而已。我们也可以用RecyclerView去写,或者简单的方式去判断。但是,本着能沿用原来的设计思想,我就不去奇思妙想了,改改不就可以了嘛~private class CheckedStateTracker implements CompoundButton.OnCheckedChangeListener { @Ov
2020-08-15 02:52:50 162
原创 As深色模式色值转换插件
主要核心对类似#00000000的色值只改变透明度转成#FF000000对#000000的色值转成#FFFFFF正则匹配色值 #[0-9a-fA-F]*单选、多选、全选xml替换主要类public class CopyBoardDarkModeAction extends AnAction { public CopyBoardDarkModeAction() { super("转化色值"); } private static Pattern colo
2020-06-30 15:16:51 1044
原创 Android 10.0夜间模式和换肤(备份)
关联文章换肤 https://www.jianshu.com/p/a2a4e5a64409全局灰度 https://blog.csdn.net/u011208377/article/details/105608809compileSdkVersion 和 targetSdkVersion改29values-night文件夹drawable-night-xxhdpi之类的代表夜间模式的相应的文件夹建议?android:attr/写,方便用换肤兼容不支持的设备<FrameLayout x
2020-06-02 11:53:21 1027
原创 应用全局灰度显示
https://mp.weixin.qq.com/s/8fTWLYaPhi0to47EUmFd7Ahttps://mp.weixin.qq.com/s/8fTWLYaPhi0to47EUmFd7A给View设置硬件加速或者关闭view.setLayerType(layerType, null);关于ColorMatrixhttps://www.jianshu.com/p/9a44d0...
2020-04-19 00:44:27 295
原创 StaggeredGridLayoutManager实现GridLayoutManager的Span效果?
StaggeredGridLayoutManager实现GridLayoutManager的Span效果以前我们可以根据不同的item设置不同的spanSize,如下GridLayoutManager layoutManager = new GridLayoutManager(getContext(), SPAN_COUNT); GridLayoutManager.SpanSi...
2020-04-06 22:24:11 2916
原创 CenterCrop的Video View
首先,原生的VideoView是继承SurfaceView加上媒体控制器,不能直接处理。而对TextureView centerCrop的原理很简单,如下:在onVideoSizeChanged方法if (videoWidth == 0 || videoHeight == 0) { return; } float sx = (float)...
2019-09-30 15:15:15 964
原创 windowIsTranslucent的bug与dialog的hide方法
ActvitiyB设置了trueActivityA之前show过dialog,不过消失的时候用了hide,不是用的dismiss,然后,ActivityA跳转到ActvitiyB,关闭ActvitiyB的时候hide的dialog显示出来。。。由于之前封装了一个dialog控制器,dissmiss用的是hide字眼,换成dialog没改过来导致了这个问题...
2019-07-26 19:29:29 465
原创 音频焦点的监听
AUDIOFOCUS_GAIN_TRANSIENT:获取的短暂的焦点,就是告知被剥夺者,你很快会重获焦点。对应AUDIOFOCUS_LOSS_TRANSIENTAUDIOFOCUS_GAIN_TRANSIENT_MAY_DUCK:获取焦点,告知被剥夺者,你可以继续播放并将音量降为0或者低音量播放。对应AUDIOFOCUS_LOSS_TRANSIENT_CAN_DUCKAUDIOFOCUS_...
2019-07-26 18:34:05 1487 1
原创 Android性能分析与优化笔记 -9 电量优化
IntentFilter filter = new IntentFilter(); filter.addAction(Intent.ACTION_BATTERY_CHANGED); Intent intent = registerReceiver(null, filter); LogUtils.i("battery " + intent.getIn...
2019-07-20 18:15:24 404
原创 Android性能分析与优化笔记 -8 网络优化
Network ProfileRun-Edit Configuration-Profiling-Enable advanced profilingCharles瑞望模拟Proxy-Throttle Settings无法获取某个时间段内的流量消耗getNetStates方法https://github.com/codeguyFred/MyPerformance/bl...
2019-07-20 16:31:00 292
原创 Android性能分析与优化笔记 - 7线程调度
7.1线程调度原理如果是只是根据nice值的话,那么太多后台线程会抢占了前台线程工作量越大,优先级应该越低线程A中创建线程B,B跟A的线程优先级一样7.2Android异步方式汇总Thread不易复用,频繁创建及销毁开销大复杂场景不易使用HandlerThread(自带消息循环的线程)串行执行适合长时间运行,不断从队列中获取服务的场景IntentSer...
2019-07-14 03:08:10 534
原创 Android性能分析与优化笔记 - 6卡顿优化
CPU ProfilerSystraceStrictModehttps://github.com/codeguyFred/MyPerformance/blob/master/app/src/main/java/com/optimize/performance/PerformanceApp.javainitStrictMode();自动化卡顿检测方案https://githu...
2019-07-14 01:52:35 301
原创 Android性能分析与优化笔记 - 5 布局优化
优化通过LayoutInflater.Factory处理Factory2比Factory多个parent的参数,LayoutInflater创建View的一个Hook切面切setContentView统计页面加载时间- 获取控件加载耗时setContentVIew之前处理5-5异步Inflate实战AsyncLayoutInflater侧面缓解缺点...
2019-07-11 11:29:14 301 1
原创 Android性能分析与优化笔记 - 3 启动时间优化
3-2启动优化介绍App startup time冷启动温启动热启动3-3 启动时间测量方式adb shell am start -W 包名/首屏Activity监听View首帧绘制3-4 启动工具选择会带偏3-5~3-7 aop切面统计方法消耗事时间3-8异步优化 private static final int CORE_PO...
2019-06-30 22:55:56 550
转载 兼容音频输出设备
编写:kesenhoo - 原文:http://developer.android.com/training/managing-audio/audio-output.htmlhttps://www.cnblogs.com/yangjies145/p/6361855.html当用户想要通过Android设备欣赏音乐的时候,他可以有多种选择,大多数设备拥有内置的扬声器,有线耳机,也有其它很多设备支...
2019-06-27 22:01:43 907
转载 控制音量与音频播放
编写:kesenhoo - 原文:http://developer.android.com/training/managing-audio/volume-playback.htmlhttps://www.cnblogs.com/yangjies145/p/6361851.html良好的用户体验应该是可预期且可控的。如果我们的应用可以播放音频,那么显然我们需要做到能够通过硬件按钮,软件按钮,蓝牙...
2019-06-27 21:59:38 1018
转载 管理音频焦点
https://www.cnblogs.com/yangjies145/p/6361849.html由于可能会有多个应用可以播放音频,所以我们应当考虑一下他们应该如何交互。为了防止多个音乐播放应用同时播放音频,Android使用音频焦点(Audio Focus)来控制音频的播放——即只有获取到音频焦点的应用才能够播放音频。在我们的应用开始播放音频之前,它需要先请求音频焦点,然后再获取到音频焦点...
2019-06-27 21:58:16 253
转载 音频焦点总结
https://www.cnblogs.com/yangjies145/p/6361839.html参考很多大神们的资料,再次表示感谢,什么叫音频焦点 (audio focus)?android系统是一个多任务操作系统,因此同一时刻允许许多任务同时工作。但是这对音频类应用来说是个挑战,因为如果多个音频同时播放的话,很多情况下用户体验会相当的差!比如听音乐时,来了个电话,这时你的耳机里就是电话...
2019-06-27 21:56:41 4811
Android最新版xwalk跳过ssl验证
2018-06-03
发现用movie去播放gif的时候,为什么有些gif的duration是0
2018-05-28
ViewCompat.updateDragShadow不兼容,很奇怪
2017-11-23
proguard-rules可以制定哪些混淆而不是哪些不混淆吗?或者不行的原因是什么
2017-03-02
TA创建的收藏夹 TA关注的收藏夹
TA关注的人