安卓
文章平均质量分 58
安卓开发
Fred__Kang
这个作者很懒,什么都没留下…
展开
-
谷歌支付发起支付与订单掉单问题
谷歌支付发起支付与订单掉单问题原创 2022-12-13 03:03:48 · 1802 阅读 · 1 评论 -
AOP和ASM字节码插桩笔记
细究JVM栈帧&ASM字节码的核心技术原创 2022-12-04 00:22:46 · 168 阅读 · 0 评论 -
【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 · 592 阅读 · 0 评论 -
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 阅读 · 0 评论 -
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 · 467 阅读 · 0 评论 -
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 · 405 阅读 · 0 评论 -
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 · 293 阅读 · 0 评论 -
Android性能分析与优化笔记 - 7线程调度
7.1线程调度原理如果是只是根据nice值的话,那么太多后台线程会抢占了前台线程工作量越大,优先级应该越低线程A中创建线程B,B跟A的线程优先级一样7.2Android异步方式汇总Thread不易复用,频繁创建及销毁开销大复杂场景不易使用HandlerThread(自带消息循环的线程)串行执行适合长时间运行,不断从队列中获取服务的场景IntentSer...原创 2019-07-14 03:08:10 · 536 阅读 · 0 评论 -
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 · 302 阅读 · 0 评论 -
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性能分析与优化笔记 - 4 内存优化
Android性能分析与优化笔记 - 3 启动时间优化原创 2019-07-10 00:20:49 · 423 阅读 · 0 评论 -
不用Webview加载复杂静态布局的方法
parser = XmlPullParserFactory.newInstance().newPullParser(); //XmlPullParser parser = createXmlPullParserToAssets(getContext(), "live_mingpan_layout.xml...原创 2019-06-12 17:08:12 · 403 阅读 · 0 评论 -
webView显示部分手机部分文本白屏兼容处理--关闭硬件加速
在AndroidManifest.xml文件为application标签添加如下的属性即可为整个应用程序开启/关闭硬件加速:<application android:hardwareAccelerated="false" >在Activity 标签下使用 hardwareAccelerated 属性开启或关闭硬件加速:<activity android:hardw...转载 2019-05-30 14:25:50 · 1395 阅读 · 0 评论 -
CoordinatorLayout+ViewPager+Behavior仿喜马拉雅FM首页
实现方案ViewPagerCoordinatorLayoutBehaviorViewPager变换 @Override public void onPageScroll(int enterPosition, int leavePosition, float percent) { try { ...原创 2019-06-22 23:48:21 · 1748 阅读 · 1 评论 -
【设计模式】用状态模式+建造者模式处理订单状态,删掉恶心的if/else
用状态模式处理订单状态,删掉恶心的if/else《设计模式之禅》(第2版)第25章这个状态是如何产生的,以及这个状态怎样过渡到其他状态。原创 2019-04-10 11:10:03 · 1942 阅读 · 14 评论 -
2020/08/15日常体会
最近补充学习了一下jetpack的几个库发现Paging-Ex跟MergeAdapter有些重复,databinding跟MVVM的搭配也不是很协调。讲道理,livedata+协程 或者livedata+Rxjava从0开始做项目的时候,会犹豫,用全新的架构方式写,还是先用以前的方案写,写完再重构,后面发现,还是得将新的内容结合旧的架构重新构建一个全新的框架。在确定方案的过程中,采用的单Activity多Fragment的方式,也考虑过字节的scene的方案,后面觉得还是按照官方的方案走吧,至少对我的原创 2020-08-15 02:55:46 · 128 阅读 · 0 评论 -
【源码】AS模板之LoginFragment
AS模板产生的LoginFragment原创 2020-08-15 02:53:12 · 575 阅读 · 0 评论 -
不用RecyclerView任意布局作为RadioGroup
目前RadioGroup继承LinearLayout,我就觉得很智障咯,实现原理也很简单,从RadioGroup源码我们可以看到就是切换选中item的状态和之前选中按钮的状态而已。我们也可以用RecyclerView去写,或者简单的方式去判断。但是,本着能沿用原来的设计思想,我就不去奇思妙想了,改改不就可以了嘛~private class CheckedStateTracker implements CompoundButton.OnCheckedChangeListener { @Ov原创 2020-08-15 02:52:50 · 162 阅读 · 0 评论 -
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 · 1046 阅读 · 0 评论 -
应用全局灰度显示
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 阅读 · 0 评论 -
StaggeredGridLayoutManager实现GridLayoutManager的Span效果?
StaggeredGridLayoutManager实现GridLayoutManager的Span效果以前我们可以根据不同的item设置不同的spanSize,如下GridLayoutManager layoutManager = new GridLayoutManager(getContext(), SPAN_COUNT); GridLayoutManager.SpanSi...原创 2020-04-06 22:24:11 · 2916 阅读 · 0 评论 -
adb 录屏+ps将转gif、截图
adb shell screenrecord /sdcard/名字.mp4adb pull /sdcard/名字.mp4 路径https://jingyan.baidu.com/article/4dc4084877380bc8d946f1aa.html原创 2019-06-23 23:04:34 · 194 阅读 · 0 评论 -
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 · 551 阅读 · 0 评论 -
音频焦点的监听
AUDIOFOCUS_GAIN_TRANSIENT:获取的短暂的焦点,就是告知被剥夺者,你很快会重获焦点。对应AUDIOFOCUS_LOSS_TRANSIENTAUDIOFOCUS_GAIN_TRANSIENT_MAY_DUCK:获取焦点,告知被剥夺者,你可以继续播放并将音量降为0或者低音量播放。对应AUDIOFOCUS_LOSS_TRANSIENT_CAN_DUCKAUDIOFOCUS_...原创 2019-07-26 18:34:05 · 1491 阅读 · 1 评论 -
CenterCrop的Video View
首先,原生的VideoView是继承SurfaceView加上媒体控制器,不能直接处理。而对TextureView centerCrop的原理很简单,如下:在onVideoSizeChanged方法if (videoWidth == 0 || videoHeight == 0) { return; } float sx = (float)...原创 2019-09-30 15:15:15 · 964 阅读 · 0 评论 -
差值器
转载 2019-05-14 00:53:42 · 162 阅读 · 0 评论 -
多渠道打包-混淆打包-反编译
多渠道打包-混淆打包-反编译原创 2017-03-08 23:12:28 · 550 阅读 · 0 评论 -
安卓缓存指引
缓存明确两点1 各大缓存的优劣之处2 针对应用场景选取不同的方案,项目开发分析选取的缓存方案各大缓存 简单的数据库操作**Android ORM 框架之 greenDAO 虎扑项目Tlint中用到的**http://www.open-open.com/lib/view/open1438065400878.htmlAFinal https://my.oschina.net/yangfuhai原创 2016-12-18 19:09:43 · 720 阅读 · 0 评论 -
adb命令
adb转载 2016-08-16 17:07:34 · 763 阅读 · 0 评论 -
BLE/Bluetooth Low Energy
Bluetooth Low EnergyIN THIS DOCUMENTKey Terms and ConceptsRoles and ResponsibilitiesBLE PermissionsSetting Up BLEFinding BLE DevicesConnecting to a GATT ServerReading BLE Attribu翻译 2015-06-03 10:57:57 · 1011 阅读 · 0 评论 -
Mac xampp
1 虽然自带apache,但是我禁用了(禁用方法:sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist,反之用load),因为用到mysql,而且之前windows用的xampp2 安装好后mysql启动不了,phpmyadmin出错,解决方法:sudo /Applicatio原创 2015-04-16 21:59:56 · 629 阅读 · 0 评论 -
android ios
收录待验1 android3.0以下界面绘制都不支持gpu渲染。在你应用里加上android:hardwareAccelerated="true"和不加然后在真机上试验下效果就知道。android底层的2d绘图是用的skia图形库。http://www.williamlong.info/archives/2918.html为什么Android没有iOS那么顺滑 http://w转载 2015-01-28 00:37:01 · 658 阅读 · 0 评论 -
单例模式的七种写法
http://cantellow.iteye.com/blog/838473转载 2014-07-04 00:50:43 · 539 阅读 · 0 评论 -
linux
1 sudo passwd root: change the root password2 sudo su: let me be the manager3 ls -l path and filename:show the authority of the file,such as drwx4 chmod u+x filename:give the user x authority5原创 2014-05-28 18:11:03 · 861 阅读 · 0 评论 -
android 应用程序退出代码实现
自定义方法,适用于android所有版本的系统CloseActivityClass类:import java.util.ArrayList;import java.util.List; import android.app.Activity;import android.app.ActivityManager;import android.content.Con转载 2014-05-24 15:15:56 · 1232 阅读 · 0 评论 -
ADB server didn't ACK,,,adb.exe' and can be executed.
adb server无法启动方法,结束占用端口的进程adb server is out of date. killing...ADB server didn't ACK* failed to start daemon *error: unknown host service 使用adb时,若出上面的错,使用adb kill-server是没有用的,因为此时转载 2014-05-10 21:53:57 · 1002 阅读 · 0 评论 -
倍数提高工作效率的Android Studio奇技
转自 http://zlv.me/posts/2015/07/13/14_android-studio-tips/Jul 13, 2015 这是从Philippe Breault的系列文章《Android Studio Tips Of the Day》中提取出来的自认为精华的部分。 这些技巧在实际应用中能够非常大的提高工作效率。关于快捷键The File Structure Popupctrl+转载 2017-03-07 09:24:19 · 310 阅读 · 0 评论 -
Android实现日夜间模式的深入理解
转自:http://www.jb51.net/article/93852.htm 在本篇文章中给出了三种实现日间/夜间模式切换的方案,三种方案综合起来可能导致文章的篇幅过长,请耐心阅读。1、使用 setTheme 的方法让 Activity 重新设置主题;2、设置 Android Support Library 中的 UiMode 来支持日间/夜间模式的切换;3、通过资源 id 映射,回调自定义转载 2017-03-07 14:35:35 · 1049 阅读 · 1 评论 -
Rxjava2 disposable.dispose();和compositeDisposable.dipose();
disposable.dispose();compositeDisposable.dipose();Rxjava2的这两个跟Rxjava对应的不太一样compositeDisposable用compositeDisposable.clear();原创 2019-05-05 01:04:10 · 1236 阅读 · 0 评论 -
【信息安全】做个好人系列集锦
android WindowManager解析与骗取QQ密码案例分析https://blog.csdn.net/self_study/article/details/50484337为什么豌豆荚可以在应用安装完成界面打广告http://androidwing.net/index.php/294...原创 2019-04-15 15:33:26 · 194 阅读 · 0 评论