自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(40)
  • 资源 (2)
  • 收藏
  • 关注

转载 mac 下配置flutter 总是失败,请参考以下文章重新配置flutter 环境

https://www.cnblogs.com/reyzhang/p/17069985.html

2024-04-22 15:05:25 23

原创 为什么要分析 CPU 使用率

使用 CPU Profiler 检查 CPU Activity 和函数跟踪CPU Profiler 可帮助您实时检查应用的 CPU 使用率和线程 Activity,并记录函数跟踪,以便您可以优化和调试您的应用代码。要打开 CPU Profiler,请按以下步骤操作:点击View > Tool Windows > Android Profiler(也可以点击工具栏中的Android ...

2020-11-26 14:48:26 171

原创 ANR stack-dump信息排查

ANR线程信息

2020-11-26 14:43:10 177

原创 Android UI 之systerm Bar 以及状态栏透明相关的知识点

Android中显示,隐藏Status Bar和Navigation Bar,沉浸式体验

2020-07-19 13:35:32 194

原创 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 4335

原创 android 检测模拟器的几种方式

1.检测模拟器上几个特有的文件2.检测模拟器上默认的电话号码3.检测设备是IDS是不是"00000000000000"4.检测imsi id是不是"31026000000000"5.检测手机上的一些硬件信息6.检测手机运营商家

2020-07-02 09:42:50 3213

原创 Android 动画 插值器与估值器

Interpolator 插值器 指定动画如何变化以下插值器实现了interpolator接口,Interpolator 接口则直接继承自 TimeInterpolator,而且并没有添加任何其它的方法TimeInterpolator中只有一个方法 其中 input 是取值范围是 0 到 1,表示当前动画的进度(input只跟时间有关系)百分制进度返回值 表示当前实际想要显示的...

2020-04-14 09:48:29 277

原创 android 中不建议使用枚举

不建议使用的原因是:会增大dex 的大小。,每个枚举值会增加20 byte 对象散列跟踪枚举值会额外增加12-16byte (在dalvik上是16byte)参考资料:https://www.youtube.com/watch?v=Hzs6OBcvNQE...

2020-01-06 16:04:37 420

原创 Profile GPU Rendering---GPU显示配置文件

打开方式:开发者选项---GPU显示配置文件GPU显示配置文件的功能特点:1.是个图形检测工具,实时反应当前绘制的耗时2.横轴表示时间,,纵轴表示每一帧的耗时(单位:ms)3.随着时间的推移,从左到右的刷新呈现4.提供了一个标准的耗时,如果高于耗时,表示当前这一帧的丢失5.每一条柱状图都由4种颜色组成:红黄蓝紫,这些线对应每一帧在不同阶段的实际耗时1)蓝色代表测量...

2019-09-19 14:59:52 850

原创 自定义dialog ,setCanceledOnTouchOutside 无效

无效的原因是在style里有这样一段代码 <item name="android:windowFullscreen">true</item>因此,没有外界的区域可以单击取消。这适用于对话框使用自定义内容。...

2019-08-27 11:07:12 1518

转载 Android 事件分发

http://gityuan.com/2015/09/19/android-touch/

2019-05-07 11:20:41 100

原创 栈与队列

栈是限定仅在表尾进行插入和删除操作的线性表允许插入和删除的一端称为栈顶(top),另一端称为栈底。栈又称为后进先出的线性表 LIFO栈的插入操作叫做进栈,也称为压栈,入栈栈的删除操作叫做出栈,也有的叫弹栈栈的应用---递归 (斐波那契数列)递归:把一个直接调用自己 或者通过一系列的调用语句间接地调用自己的函数,称做递归函数斐波那契数列两种实现的区别:迭代使用的是循环结...

2019-03-12 10:37:47 206

原创 链表结构

1.单链表 https://blog.csdn.net/sinat_21693123/article/details/866809602.静态链表       用数组表述的链表叫做静态链表3.循环链表     将单链表中 终端结点的指针端 由空指针改为指向头结点,就使整个单链表形成一个环,这种头尾相连的单链表称为单循环链表,简称循环链表4. 双向链表  是在单链表的每个结点中,再设置一...

2019-01-30 18:54:14 233

原创 线性表

线性表:0个或者多个数据元素的有限序列线性表的顺序存储结构,指的是用一段地址连续的存储单元依次存储线性表的数据元素(eg 上课占一排连续的位置)描述顺序存储结构需要三个属性:存储空间的起始位置,线性表的最大存储容量 ,线性表的当前长度 数组的长度是存放线性表的存储空间的长度,存储分配后这个量一般是不变的。(一般高级语言如c vb c++可以用编程手段实现动态分配数组,不过这回带...

2019-01-30 18:20:45 762

原创 ScrollView嵌套GridView导致getView时 position=0多次调用

多次调用的原因:GridView的宽度高度不确定,getView会多执行position=0来计算item的高度和宽度。经测试可用的解决方案:(禁止多次执行position=0的方法暂无,以下代码仅避免对应逻辑多次被调用)              if (parent.getChildCount()== position) {//对应逻辑代码        }else{//其他处...

2018-08-30 18:52:41 390

原创 let 函数

let 函数让处理可空表达式变得更容易,和安全运算符一起,它允许你对表达式求值,检查求值结果是否为null,并把结果保存为一个变量。

2018-07-01 19:49:15 3087

原创 kotlin 类型系统 "?."," ?:","as?"

?.   是安全调用运算符,把一次null检查和一次方法的调用合并成一个操作。运行如下:?:  是Elvis运算符(null合并运算符),提供代替null的默认值。运行如下as?  as运算符 尝试把值转换成指定的类型,如果值不是合适的类型就返回null,运行如下...

2018-07-01 19:40:08 4496

原创 Kotlin 运算符==

==表示相等性== :Java 用来表示基本数据类型和引用类型。1.应用在基本数据类型 ==比较的是值。2 应用在引用类型 ==比较的是引用3 Java中比较对象调用equals==:Kotlin 比较两个对象的默认方式,1.本质上说它就是通过调用equals来比较两个值。因此如果equals在你的类中被重写了,你就能很安全的使用==来比较实例。2.要想进行引用比较可以使用===运算符      ...

2018-06-28 15:40:49 589

原创 Kotlin 可见性修饰符 public,private, protected,internal

Kotlin的可见修饰符与Java类似,但是默认的可见性不一样,如果省略修饰符:Java默认包私有,Kotlin默认声明是publicinternal 只在模块内部可见。一个模块就是一组一起编译的kotlin 文件,这可能是一个intellij IDEA模块,一个Eclipse项目一个Maven或 Gradle项目或者一组使用调用ant任务进行编译的文件...

2018-06-28 13:28:38 11276

原创 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 2725

原创 android 8.0获取apk大小

private void getAppTotalsizeO() { try { StorageStatsManager storageStatsManager = (StorageStatsManager) mContext.getSystemService(Context.STORAGE_STATS_SERVICE); Storag...

2018-06-22 18:11:20 1779 1

原创 调试应用程序通常需要使用堆栈跟踪

调试应用程序通常需要使用堆栈跟踪。每当您的应用程序因为错误或异常而崩溃时,就会生成堆栈跟踪。也可以使用如下方法在应用程序代码中的任意位置打印堆栈跟踪 Thread.dumpStack()。当您的应用在连接的设备上以调试模式运行时,Android Studio会在logcat视图中打印并突出显示堆栈轨迹,如图1所示参考资料:Analyze a Stack Trace...

2018-05-22 15:56:26 2079

原创 charles连接不上手机(windows )

1.检查手机和pc是否在同一个网段(必须在同一个网段)2.windows 一定要关闭防火墙!!!3.检查端口手机和PC的端口是否一致(必须一致)

2018-05-17 11:09:24 7305 1

原创 cause:java.util.UnknownFormatConversionException: Conversion = 'End of String'

问题原因:&lt;string name="x_extended_by"&gt;enlarged by %1$s!&lt;/string&gt;String x= getResources().getString(R.string.x_extended_by);  String count= String.format(x, 2);  1.有多语言的时候可能是某个多语言翻译时少了一个占位符2.没有...

2018-04-25 15:34:44 8293

原创 Android tween动画无限循环每个周期之后会停顿一段时间

解决方案:为补间动画加上一个LinearInterpolator插值器即可解决停顿的原因是:没有为动画手动设置插值器的时候,系统默认是AccelerateDecelerateInterpolator。具体在源码Animation的816行如下 /** * Gurantees that this animation has an interpolator. Will use * ...

2018-03-06 17:05:01 3645

原创 path 动画与canvas 动画在部分机型不显示的问题

最近在用path写一个心电图动画,发现动画完成以后在5.0以上正常显示,5.0以下的机型不显示,反复看了代码发现PathMeasure的getSegment(float startD, float stopD, Path dst, boolean startWithMoveTo)在API&lt;=19的时候开启硬件加速会引起这个path 动画不可见。先说官方提供的解决方案:在调用getSegmen...

2018-03-02 17:37:38 487

原创 使用 Memory Profiler查看Java堆和内存分配

使用 Memory Profiler查看Java堆和内存分配 Memory Profiler是Android Profiler中的一个组件,可帮助识别内存泄漏和内存流失 而导致连锁,死机甚至应用程序崩溃。它显示了应用程序内存使用的实时图形,可以捕获堆转储,强制垃圾收集以及跟踪内存分配。为什么要分析应用的内存 Android提供了一个托管的内存环境,当它确定你的应用程序不再使用某些对象时,垃

2018-01-29 16:00:07 804

原创 使用Android profile 分析性能(一)

首先 启用高级分析 1.Run &amp;gt; Edit Configurations. 2.选中左侧要分析的APP 3.选定Profiling tab &amp;gt; Enable advanced profiling 重新构建项目即可看一下Android Profile共享时间线视图 1.手机型号 2.想要分析的APP 3.缩放的按钮 4.更新到最新时间 5.显示活动状态,用户输入事件和屏幕

2018-01-19 20:42:10 5435

转载 关于图片压缩的误区

http://blog.csdn.net/adam_ling/article/details/52346741

2017-03-27 16:46:28 237

原创 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 755

原创 判断手机是否设置闹钟

String time = Settings.System.getString(context.getContentResolver(),Settings.System.NEXT_ALARM_FORMATTED);if (TextUtils.isEmpty(time)) {//闹钟关闭 } else {//闹钟开启 }

2017-03-23 18:08:53 1144

原创 android 系统桌面设置为背景的方法

1.静态壁纸(无须设置theme)WallpaperManager manager =WallpaperManager.getInstance(this); Drawable drawable=manager.getDrawable();此时当drawable 就是我们获取的系统壁纸.在不设置theme 时,我们获取的是一整张壁纸,不能按照手机homescreen 的屏幕数去展示当前屏幕对应的已经

2017-03-23 18:04:37 2863

原创 View 源码学习

View 源码学习标签

2016-12-29 18:39:25 616

原创 RecycleView 滑动超过半屛滑入下一个item

recycleview 横向滑动

2016-10-16 16:26:25 4552

原创 glide展示图片的拉伸问题

最近写项目的时候发现ListView  GridView 用glide展示图片会出现图片拉伸的情况。解决方法:1.取消展示时的crossFade()动画效果。        Glide.with(context).load(resId).placeholder(defaultId).dontAnimate().into(imageView);2.  AsBitm

2016-08-16 10:41:51 1578

原创 弹性scrollview

弹性scrollview 第一个子item是图片,随着下拉图片有弹性变化。

2016-02-18 11:25:11 646

原创 仿微博的弹性listview

最近项目需求做一个仿ios的弹性listview,找了很多大家的分享,并没有找到完全符合自己需求的代码,自己在某位热于分享的前辈(看了太多例子,忘记是谁了,请见谅)的代码基础上做了改善,现在记录一下

2016-02-18 11:12:52 384

原创 从android studio(for mac)中导入APIdemo

打开android studio -》File -》new-》importProject -》android-》sdk-》legacy -》ApiDemos -》点击OK.-》Next  -》Finish. ok

2015-12-15 19:55:07 1427

原创 关于RecyclerView实现瀑布流,上下滑动时item之间互换位置的问题

最近项目需求,需要RecyclerView实现瀑布流。在用 StaggeredGridLayoutManager 完成瀑布流的过程中发现一个问题:它并不像pullToRefresh 那样是稳定的list,而是item之间频繁交换位置,有时候甚至会出现第一列和第二列完全互换的情况。  我去搜索相关的问题,并没有人非常深入的去写这个控件,都是一些基础的用法。好吧,那只能自食其力,看源码喽。。。

2015-12-15 16:34:51 18401 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 338

charls4.2.6的破解版jar(官网下载,直接替换)mac

mac官网下载charls,然后在/Applications/Charles.app/Contents/Java直接替换charls.jar即可。(无法设置成0资源下载)

2018-08-31

Paw HTTP Client for Mac 2.0.7.dmg

Paw HTTP Client 是Mac OS下最好用的HTTP客户端模拟测试工具,可以让Web开发者设置各种请求Header和参数,模拟发送HTTP请求,测试响应数据

2015-09-09

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除