- 博客(40)
- 资源 (2)
- 收藏
- 关注
转载 mac 下配置flutter 总是失败,请参考以下文章重新配置flutter 环境
https://www.cnblogs.com/reyzhang/p/17069985.html
2024-04-22 15:05:25 31
原创 为什么要分析 CPU 使用率
使用 CPU Profiler 检查 CPU Activity 和函数跟踪CPU Profiler 可帮助您实时检查应用的 CPU 使用率和线程 Activity,并记录函数跟踪,以便您可以优化和调试您的应用代码。要打开 CPU Profiler,请按以下步骤操作:点击View > Tool Windows > Android Profiler(也可以点击工具栏中的Android ...
2020-11-26 14:48:26 195
原创 Android UI 之systerm Bar 以及状态栏透明相关的知识点
Android中显示,隐藏Status Bar和Navigation Bar,沉浸式体验
2020-07-19 13:35:32 215
原创 Android 开启代码混淆后报错 Execution failed for task ‘:app:processProdReleaseResources‘
Execution failed for task ':app:processProdReleaseResources'.> AAPT2 aapt2-3.2.1-4818971-windows Daemon #0: Unexpected error during link, attempting to stop daemon. This should not happen under normal circumstances, please file an issue if it does.
2020-07-14 10:00:15 4391
原创 android 检测模拟器的几种方式
1.检测模拟器上几个特有的文件2.检测模拟器上默认的电话号码3.检测设备是IDS是不是"00000000000000"4.检测imsi id是不是"31026000000000"5.检测手机上的一些硬件信息6.检测手机运营商家
2020-07-02 09:42:50 3227
原创 Android 动画 插值器与估值器
Interpolator 插值器 指定动画如何变化以下插值器实现了interpolator接口,Interpolator 接口则直接继承自 TimeInterpolator,而且并没有添加任何其它的方法TimeInterpolator中只有一个方法 其中 input 是取值范围是 0 到 1,表示当前动画的进度(input只跟时间有关系)百分制进度返回值 表示当前实际想要显示的...
2020-04-14 09:48:29 307
原创 android 中不建议使用枚举
不建议使用的原因是:会增大dex 的大小。,每个枚举值会增加20 byte 对象散列跟踪枚举值会额外增加12-16byte (在dalvik上是16byte)参考资料:https://www.youtube.com/watch?v=Hzs6OBcvNQE...
2020-01-06 16:04:37 444
原创 Profile GPU Rendering---GPU显示配置文件
打开方式:开发者选项---GPU显示配置文件GPU显示配置文件的功能特点:1.是个图形检测工具,实时反应当前绘制的耗时2.横轴表示时间,,纵轴表示每一帧的耗时(单位:ms)3.随着时间的推移,从左到右的刷新呈现4.提供了一个标准的耗时,如果高于耗时,表示当前这一帧的丢失5.每一条柱状图都由4种颜色组成:红黄蓝紫,这些线对应每一帧在不同阶段的实际耗时1)蓝色代表测量...
2019-09-19 14:59:52 876
原创 自定义dialog ,setCanceledOnTouchOutside 无效
无效的原因是在style里有这样一段代码 <item name="android:windowFullscreen">true</item>因此,没有外界的区域可以单击取消。这适用于对话框使用自定义内容。...
2019-08-27 11:07:12 1545
原创 栈与队列
栈是限定仅在表尾进行插入和删除操作的线性表允许插入和删除的一端称为栈顶(top),另一端称为栈底。栈又称为后进先出的线性表 LIFO栈的插入操作叫做进栈,也称为压栈,入栈栈的删除操作叫做出栈,也有的叫弹栈栈的应用---递归 (斐波那契数列)递归:把一个直接调用自己 或者通过一系列的调用语句间接地调用自己的函数,称做递归函数斐波那契数列两种实现的区别:迭代使用的是循环结...
2019-03-12 10:37:47 210
原创 链表结构
1.单链表 https://blog.csdn.net/sinat_21693123/article/details/866809602.静态链表 用数组表述的链表叫做静态链表3.循环链表 将单链表中 终端结点的指针端 由空指针改为指向头结点,就使整个单链表形成一个环,这种头尾相连的单链表称为单循环链表,简称循环链表4. 双向链表 是在单链表的每个结点中,再设置一...
2019-01-30 18:54:14 240
原创 线性表
线性表:0个或者多个数据元素的有限序列线性表的顺序存储结构,指的是用一段地址连续的存储单元依次存储线性表的数据元素(eg 上课占一排连续的位置)描述顺序存储结构需要三个属性:存储空间的起始位置,线性表的最大存储容量 ,线性表的当前长度 数组的长度是存放线性表的存储空间的长度,存储分配后这个量一般是不变的。(一般高级语言如c vb c++可以用编程手段实现动态分配数组,不过这回带...
2019-01-30 18:20:45 791
原创 ScrollView嵌套GridView导致getView时 position=0多次调用
多次调用的原因:GridView的宽度高度不确定,getView会多执行position=0来计算item的高度和宽度。经测试可用的解决方案:(禁止多次执行position=0的方法暂无,以下代码仅避免对应逻辑多次被调用) if (parent.getChildCount()== position) {//对应逻辑代码 }else{//其他处...
2018-08-30 18:52:41 416
原创 let 函数
let 函数让处理可空表达式变得更容易,和安全运算符一起,它允许你对表达式求值,检查求值结果是否为null,并把结果保存为一个变量。
2018-07-01 19:49:15 3105
原创 kotlin 类型系统 "?."," ?:","as?"
?. 是安全调用运算符,把一次null检查和一次方法的调用合并成一个操作。运行如下:?: 是Elvis运算符(null合并运算符),提供代替null的默认值。运行如下as? as运算符 尝试把值转换成指定的类型,如果值不是合适的类型就返回null,运行如下...
2018-07-01 19:40:08 4525
原创 Kotlin 运算符==
==表示相等性== :Java 用来表示基本数据类型和引用类型。1.应用在基本数据类型 ==比较的是值。2 应用在引用类型 ==比较的是引用3 Java中比较对象调用equals==:Kotlin 比较两个对象的默认方式,1.本质上说它就是通过调用equals来比较两个值。因此如果equals在你的类中被重写了,你就能很安全的使用==来比较实例。2.要想进行引用比较可以使用===运算符 ...
2018-06-28 15:40:49 625
原创 Kotlin 可见性修饰符 public,private, protected,internal
Kotlin的可见修饰符与Java类似,但是默认的可见性不一样,如果省略修饰符:Java默认包私有,Kotlin默认声明是publicinternal 只在模块内部可见。一个模块就是一组一起编译的kotlin 文件,这可能是一个intellij IDEA模块,一个Eclipse项目一个Maven或 Gradle项目或者一组使用调用ant任务进行编译的文件...
2018-06-28 13:28:38 11286
原创 kotlin 访问修饰符 open final abstract
1. final kotlin中默认类和方法是final。2.如果你允许创建一个类的子类,需要使用open 修饰符来标示这个类,另外需要给每一个可以被重写的属性或者方法添加open 修饰符3.abstract Kotlin中可以将一个类声明为abstract ,这种类不能被实例化。抽象类中抽象成员始终是open的,所以不需要显示的使用open修饰符,非抽象函数并不是默认open,但是可以标注为op...
2018-06-28 13:16:33 2748
原创 android 8.0获取apk大小
private void getAppTotalsizeO() { try { StorageStatsManager storageStatsManager = (StorageStatsManager) mContext.getSystemService(Context.STORAGE_STATS_SERVICE); Storag...
2018-06-22 18:11:20 1829 1
原创 调试应用程序通常需要使用堆栈跟踪
调试应用程序通常需要使用堆栈跟踪。每当您的应用程序因为错误或异常而崩溃时,就会生成堆栈跟踪。也可以使用如下方法在应用程序代码中的任意位置打印堆栈跟踪 Thread.dumpStack()。当您的应用在连接的设备上以调试模式运行时,Android Studio会在logcat视图中打印并突出显示堆栈轨迹,如图1所示参考资料:Analyze a Stack Trace...
2018-05-22 15:56:26 2092
原创 charles连接不上手机(windows )
1.检查手机和pc是否在同一个网段(必须在同一个网段)2.windows 一定要关闭防火墙!!!3.检查端口手机和PC的端口是否一致(必须一致)
2018-05-17 11:09:24 7332 1
原创 cause:java.util.UnknownFormatConversionException: Conversion = 'End of String'
问题原因:<string name="x_extended_by">enlarged by %1$s!</string>String x= getResources().getString(R.string.x_extended_by); String count= String.format(x, 2); 1.有多语言的时候可能是某个多语言翻译时少了一个占位符2.没有...
2018-04-25 15:34:44 8321
原创 Android tween动画无限循环每个周期之后会停顿一段时间
解决方案:为补间动画加上一个LinearInterpolator插值器即可解决停顿的原因是:没有为动画手动设置插值器的时候,系统默认是AccelerateDecelerateInterpolator。具体在源码Animation的816行如下 /** * Gurantees that this animation has an interpolator. Will use * ...
2018-03-06 17:05:01 3655
原创 path 动画与canvas 动画在部分机型不显示的问题
最近在用path写一个心电图动画,发现动画完成以后在5.0以上正常显示,5.0以下的机型不显示,反复看了代码发现PathMeasure的getSegment(float startD, float stopD, Path dst, boolean startWithMoveTo)在API<=19的时候开启硬件加速会引起这个path 动画不可见。先说官方提供的解决方案:在调用getSegmen...
2018-03-02 17:37:38 508
原创 使用 Memory Profiler查看Java堆和内存分配
使用 Memory Profiler查看Java堆和内存分配 Memory Profiler是Android Profiler中的一个组件,可帮助识别内存泄漏和内存流失 而导致连锁,死机甚至应用程序崩溃。它显示了应用程序内存使用的实时图形,可以捕获堆转储,强制垃圾收集以及跟踪内存分配。为什么要分析应用的内存 Android提供了一个托管的内存环境,当它确定你的应用程序不再使用某些对象时,垃
2018-01-29 16:00:07 835
原创 使用Android profile 分析性能(一)
首先 启用高级分析 1.Run &gt; Edit Configurations. 2.选中左侧要分析的APP 3.选定Profiling tab &gt; Enable advanced profiling 重新构建项目即可看一下Android Profile共享时间线视图 1.手机型号 2.想要分析的APP 3.缩放的按钮 4.更新到最新时间 5.显示活动状态,用户输入事件和屏幕
2018-01-19 20:42:10 5453
原创 Bitmap裁剪问题
/** * @param bitmap 需要裁剪的bitmap * @param x X轴的起始位置 * @param y Y轴的起始位置 * @param width X轴的结束时的宽度 * @param height Y轴的结束时的高度 */ Bitmap createBitmap(Bitma
2017-03-23 18:21:19 771
原创 判断手机是否设置闹钟
String time = Settings.System.getString(context.getContentResolver(),Settings.System.NEXT_ALARM_FORMATTED);if (TextUtils.isEmpty(time)) {//闹钟关闭 } else {//闹钟开启 }
2017-03-23 18:08:53 1154
原创 android 系统桌面设置为背景的方法
1.静态壁纸(无须设置theme)WallpaperManager manager =WallpaperManager.getInstance(this); Drawable drawable=manager.getDrawable();此时当drawable 就是我们获取的系统壁纸.在不设置theme 时,我们获取的是一整张壁纸,不能按照手机homescreen 的屏幕数去展示当前屏幕对应的已经
2017-03-23 18:04:37 2875
原创 glide展示图片的拉伸问题
最近写项目的时候发现ListView GridView 用glide展示图片会出现图片拉伸的情况。解决方法:1.取消展示时的crossFade()动画效果。 Glide.with(context).load(resId).placeholder(defaultId).dontAnimate().into(imageView);2. AsBitm
2016-08-16 10:41:51 1603
原创 仿微博的弹性listview
最近项目需求做一个仿ios的弹性listview,找了很多大家的分享,并没有找到完全符合自己需求的代码,自己在某位热于分享的前辈(看了太多例子,忘记是谁了,请见谅)的代码基础上做了改善,现在记录一下
2016-02-18 11:12:52 406
原创 从android studio(for mac)中导入APIdemo
打开android studio -》File -》new-》importProject -》android-》sdk-》legacy -》ApiDemos -》点击OK.-》Next -》Finish. ok
2015-12-15 19:55:07 1452
原创 关于RecyclerView实现瀑布流,上下滑动时item之间互换位置的问题
最近项目需求,需要RecyclerView实现瀑布流。在用 StaggeredGridLayoutManager 完成瀑布流的过程中发现一个问题:它并不像pullToRefresh 那样是稳定的list,而是item之间频繁交换位置,有时候甚至会出现第一列和第二列完全互换的情况。 我去搜索相关的问题,并没有人非常深入的去写这个控件,都是一些基础的用法。好吧,那只能自食其力,看源码喽。。。
2015-12-15 16:34:51 18507 10
原创 Activity 与Fragment 生命周期的交换
1 代表Activity2 代表fragment09-15 11:34:08.058 15840-15840/﹕ 1+OnCreate09-15 11:34:08.068 15840-15840/﹕ 2+onAttach09-15 11:34:08.068 15840-15840/﹕ 2+onCreate09-15 11:34:08.068 15840-15840/﹕
2015-09-15 11:49:36 356
charls4.2.6的破解版jar(官网下载,直接替换)mac
2018-08-31
Paw HTTP Client for Mac 2.0.7.dmg
2015-09-09
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人