自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

wkk_ly的博客

Android 开发

  • 博客(32)
  • 资源 (2)
  • 收藏
  • 关注

原创 Java 遍历字符串 和 截取码点

Java 字符串编码, 遍历字符串 和 截取码点

2023-10-17 17:26:48 185

原创 Flutter -深入理解 InheritedWidget使用与实现机制

InheritedWidget 使用&原理简介在Tree中从上往下高效传递数据的基类widget , 定义为:abstract class InheritedWidget extends ProxyWidget作用&特点:在子widget内部,可获取从当前节点到根节点路径上的所有InheritedWidget实例,进而获取其持有数据. 可以仅一次性获取该数据 , 也可以获取该数据后并对其进行依赖监听.InheritedWidget可以只更新 监听当前InheritedWidg

2022-03-22 10:31:27 4038

原创 Flutter去除组件点击水波纹

如何去除Flutter组件点击水波纹?答:设置 Theme 设置splashFactory 为NoSplash.splashFactory例如:去除BottomNavigationBar点击的水波纹Scaffold( ....省略无用代码 bottomNavigationBar: Theme( data: Theme.of(context) .copyWith(splashFactory: NoSplash.spl

2021-08-17 18:24:59 1168

原创 JVM运行时内存总结(一)

2021-03-10 16:08:20 99

原创 String&&全局字符串常量池

定义String类java语言规范是这样描述的Instances of class String represent sequences of Unicode code points.A String object has a constant (unchanging) value.String literals (§3.10.5) are references to instances of class String.The string concatenation operator + (§

2021-03-08 20:19:41 498 1

原创 Gradle总结-生命周期

生命周期Gradle的生命周期图如下所示:图来源于:深入理解Android之Gradle生命周期分为三个阶段:一、初始化为settings.gadle文件创建一个Settings对象,并执行settings.gadle文件中的配置代码,利用Settings对象为settings.gadle文件中包含的所有Project项目根据其build.gradle文件创建具有层次关系的Project对象注意:settings.gadle文件和Settings对象是一一对应关系,也就是一个sett

2020-10-21 21:21:25 308

原创 电量优化中-电量监控和分析工具

电量监控和分析工具Android 5.0开始 提供了电量获取和分析的方式一、使用adb 命令 dumpsys batteryst 生成电池的使用情况二、使用Battery Historian 分析耗电情况当然上述方式是耗电相对测试,如果需要精确测量并且是测量政绩耗电,可以使用稳定的电源加上电流仪 进行精确测量,当然这种方式比较麻烦,而且条件比较苛刻,不适合应用开发人员使用。下面给出 adb shell dumpsys batterystats 常用参数(由:adb shell dumpsys ba

2020-08-20 20:29:22 325

原创 电量优化上-电量统计原理&系统电量优化历程

电量统计原理Android 系统的电流统计框架是 BatteryStatsService框架通过统计各个模块组件的状态耗电时长与电源配置文件来估算应用与设备的耗电量Android系统规定:设备制造商必须提供组件的电源配置文件,该配置文件定义了组件的电流消耗值以及该组件在一段时间内大概消耗的电量,该配置文件的地址为:platform/frameworks/base/core/res/res/xml/power_profile.xml我们知道:电功(P)=电压(U) * 电流(I) * 时长(t)手

2020-08-13 16:21:17 687

原创 Android实时模糊

关于Android 获取模糊背景的一些调研记录Android常见的模糊应用场景 分为两种:1,静态模糊 2,动态模糊 静态模糊就是直接模糊一张图片然后设置进View显示,动画模糊也就是实时模糊一般就是指,上层View的模糊背景是根据下层View动态生成的bitmap进行模糊设置的,常见的比如华为手机下拉状态栏的模糊背景以及魅族手机的背景模糊.实时模糊有几个常见问题如何获取需要模糊的Bitmap 就是如何获取底层View生成视图的Bitmap模糊算法的选择性能问题获取需要模糊的Bitmap

2020-06-28 20:07:11 3192

原创 window下使用ubunto运行shell脚本

Window10下使用Ubunto运行shell脚本步骤:1、安装Ubunto 教程 https://www.cnblogs.com/jetttang/p/8186315.html2、打开Ubunto的bash窗口3、访问在window的文件访问window下的文件需要前面加上 /mnt/+目录比如我要访问 c盘下的test文件cd /mnt/c/test注意cd后面有个空格cd用法 注意cd后面有个空格cd .. 返回上一级目录cd / 返回主目录cd [目录名] 切换到目录名

2020-05-26 18:17:34 605

原创 Android 高度自定义的粒子框架(支持普通View和surfaceView)

实现功能实现气泡粒子向上飘动 (视频转GIf有点卡)效果图功能粒子的刷新使用:主线程handler 指定频率刷新,粒子的生命周期分为存活期 和消亡期 每次生成粒子都从消亡的粒子中获取 实现粒子缓存粒子预置 可以提前布置指定数量的粒子粒子自己控制自己的生命周期 避免内存泄漏代码详情BaseView.kotlin 粒子View的基类 实现粒子刷新频率控制abstract c...

2020-04-23 17:20:12 343

原创 RxJava2流程分析2-事件流

概述RxJava是一个用于使用可观察的序列组合异步和基于事件的程序的库,其主要是用于异步的、可线程切换的、可观察序列事件,那么这个事件序列倒是是什么样的?目的事件序列是怎么形成的事件的流向分析分析的代码Observable.create(new ObservableOnSubscribe<Integer>() { @Override p...

2020-01-07 20:40:58 270

原创 RxJava2流程分析1- Observable观察订阅的的简单分析

RxJava流程分析1- Observable观察订阅的的简单分析概述:从最简单的RxJava的使用,来分析RxJava订阅和观察的整个流程目标:RxJava中观察者和被观察者是如何联系起来的被观察者(Observable)发射数据是从什么时候开始的,Observable的整个流程图分析最简单的RxJava代码如下:下面代码实现了 被观察者,发射一个1,观察者得到该发射的值并打...

2020-01-07 14:18:41 476

原创 DataBinding2

单项绑定与双向绑定DataBinding的核心是数据驱动View 即是:数据变化,视图自动变化,DataBinding同时也实现了双向驱动(双向绑定),即是当View的属性变化时,其对应的绑定的数据也会发生变化1.单项绑定单项绑定是 当数据改变时和数据绑定的View也自动更改实现方式有两种:方式一继承BaseObservable 在get方法上添加注解@Bindable,在set方法上...

2019-12-10 11:59:55 236

原创 Kotlin 扩展程序View binding在Fragment中使用view.post{}导致的空指针解决方法&&引起的思考总结

Kotlin 扩展程序View binding在Fragment中使用post导致的空指针解决方法&&引起的思考总结问题描述:使用kotlin的扩展函数View binding在Fragment中使用 view.post造成空指针代码: tvUserName.post { var margin = 0 tvUserName.layou...

2019-12-09 16:11:01 2579

原创 DataBinding_1

1、依赖在app的build.gradle文件中(模块build)中添加如下代码,即可android {...dataBinding { enabled = true }}但是如果 使用了kotlin进行编码 顶部要依赖kotlin插件,否则编译失败apply plugin: "kotlin-kapt"2、数据绑定数据绑定 是数据源驱动View 所以其布局文件是和普...

2019-12-04 16:11:01 317

原创 RecyclerView万能分割线_线性分割线_网格分割线

自定义RecyclerView分割线库,支持线性分割线 网格分割线

2019-07-15 18:59:33 743 2

原创 Android_插值器

Android自带的插值器自定义插值器插值器常用到工具Android自带的插值器如图:介绍:

2019-03-11 15:29:22 509

原创 kotlin_属性和字段的区别

属性和字段kotlin官方中文属性和字段 传送门在java中 有类成员变量的定义,而且类成员变量可以只声明不初始化(因为在构造函数中java会给没有初始化的成员变量,赋予默认值)总述:在面向对象语言中,一个类是有属性和行为的,在kotlin中与之对应的是属性和方法,这里我们详细讨论下属性这个东西.属性是一个类的某个特征,这个特征可能是可变的如年龄,也可能是不可变的如性别,我们在使用某个类的...

2019-01-28 19:13:18 641

原创 TextView经常会用但是会忘得知识点_格式化&html&富文本

谷歌格式官方文档传送门_点击传送谷歌关于String资源文件的官方说明_点击传送文字格式化-----String.format()Android官方推荐TextView在设置内容的时候应该通过String文件来设置内容,而通过String文件获取内容,如:getResources().getString(R.string.tv_content,&amp;quot;内容1&amp;quot;,&amp;quot;内容2&amp;quot;)实际上是通过Str...

2019-01-25 21:10:10 524

原创 C++之虚函数表和vptr指针

序章如果说指针是C语言的精髓,那C++的精髓就是多态,而多态实现的基础是动态联编(晚绑定),动态联编实现的基础是虚函数.在C++中是这样是这样规定虚函数: 1.函数前面加上关键字virtua 就形成了虚函数 2,当指针或者引用在调用虚函数的时候,编辑器会根据其指向的实际对象,调用相应的虚函数,也就是说 派生类重写基类的虚函数的时候,当基类指针指向派生类对象并在调用虚函数的时候,这时基类指针...

2018-11-29 18:35:12 1103

原创 Android_国际开发_语言切换

Android_语言切换效果:如果关于基本概念不是很清楚 这里有谷歌官方的介绍:https://developer.android.google.cn/guide/topics/resources/localization一、首先新建备用资源文件/文件夹Android 如果需要进行多语言开发,实现语言切换 如果仅仅是文字显示之类的 则在res文件夹下新建你需要的语言资源 如下所...

2018-09-06 11:20:25 1145

转载 Android_国际语言开发常用的语言代码表

语言代码表百度解释的语言代码表: https://baike.baidu.com/item/%E8%AF%AD%E8%A8%80%E4%BB%A3%E7%A0%81/6594123?fr=aladdin 语言代码 语言名称 af 南非语 af-ZA 南非语 ar 阿拉伯语 ar-AE 阿拉伯语(阿联酋) ar-BH 阿拉...

2018-09-05 18:56:02 1834

原创 const修饰指针的几种情况

const 修饰指针的几种情况常量指针:指针指向的值不能修改(指针指向地址的具体指不能修改),但是指针的值可以修改(指针指向的地址可以修改)const 类型 * 指针名 = 地址例如: const int * p1 = &amp;amp;a;此时 指针p1指向的值不能修改, 但是该指针可以指向其他的地址 实例代码 int main() { int ...

2018-09-03 15:07:04 2525

原创 今日头条屏幕适配_工具类

首先我们要知道关于屏幕适配相关基础知识 ,概念来源https://developer.android.google.cn/guide/practices/screens_support今天头条原文:https://mp.weixin.qq.com/s/d9QCoBP6kV9VSWvVldVVwA术语和概念屏幕尺寸按屏幕对角测量的实际物理尺寸。为简便起见,Android 将所有实际...

2018-08-30 16:05:33 716

原创 OpenGL_ES_画圆

效果如下: 画圆的难点是1,openGL的坐标系和手机实际的坐标系是不相同的 2,OpenGL ES只能画点,线,三角形,如何实现圆呢问题一解决方式:是使用正交投影,实现OpenGL坐标转变成手机设备坐标问题二解决方式:我们三角形扇来实现如下图所示如图我们可以根据圆心到圆边画足够多的三角形 这样就可以形成圆形了(参考圆周率的计算方式)代码如下/** *...

2018-07-25 11:09:10 1442

原创 OpenGL_ES_三角形

OpenGL ES2.0 绘制三角形效果public class Demo2Activity extends AppCompatActivity {boolean isRenderSet = false;private GLSurfaceView glSurfaceView;@Overrideprotected void onCreate(Bundle savedInstan...

2018-07-23 17:49:03 169

原创 OpenGL_ES_背景绘色

OpenGl_ES_入门package com.example.lenovo.opengl_es_demo1.mine;import android.app.ActivityManager;import android.content.Context;import android.content.pm.ConfigurationInfo;import android.opengl.G...

2018-07-20 18:56:03 313

原创 okhttp_缓存分析_上

okhhtp缓存篇_上注:本文分析的基础是在大概了解了okhhtp的基础上分析的如果不了解的话建议看下okhhtp的网络流程https://blog.csdn.net/wkk_ly/article/details/81004920**前言:**okhttp_缓存篇分为上下两部分,主要从以下几个方面来分析okhhtp缓存okhttp缓存如何声明使用缓存okhttp在什么情况下缓存网络...

2018-07-16 11:50:24 2499 2

原创 okhttp_架构篇

前言: okhttp采用责任链设计模式 对网络请求进行分层处理,这样使得代码更加的清晰简洁,责任链:责任链模式是一种设计模式。在责任链模式里,很多对象由每一个对象对其下家的引用而连接起来形成一条链。请求在这个链上传递,直到链上的某一个对象决定处理此请求。发出这个请求的客户端并不知道链上的哪一个对象最终处理这个请求,这使得系统可以在不影响客户端的情况下动态地重新组织和分配责任。本文...

2018-07-11 18:10:07 904

原创 Android_drawable

Android_Drawable介绍之使用篇(1)导言:关于Android Drawable这是个系列文章,总来的来说分为使用篇和原理篇,每篇又分为各个不同的小篇.Drawable定义:drawable包中含有很多管理管理视觉元素的类,它们用来展示bitmap和一些渐变,经常用来显示一些背景和指示器,成员:安卓中为了应对开发中的各种ui效果需求提供了很多不同种类的drawa...

2018-06-27 18:48:26 181

原创 Android_光标&&window如何因为输入法而重新计算大小

本文讨论以下几个方面的问题以及解决办法1,Edittext,获取焦点但是禁止软键盘的弹出,2,光标的产生原理3,activity是如何在输入法弹出后调整窗口大小的1.Edittext,获取焦点但是禁止软键盘的弹出Android api21 放开了TextView的setShowSoftInputOnFocus方法可以设置在获取焦点的时候不显示软键盘,但是在Android ap...

2018-06-22 15:27:10 877

Docker.dmg

电量优化工具,Docker 社区版

2020-08-22

Android语言切换Demo

Android语言切换的Demo实例代码,Android语言切换的Demo实例代码,Android语言切换的Demo实例代码,

2018-09-06

空空如也

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

TA关注的人

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