自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 问答 (1)
  • 收藏
  • 关注

原创 Android App启动优化之启动框架

android启动优化是个比较重要的部分,也是一大难题,一个优秀的app首先给人第一感觉就是启动速度,启动速度非常影响用户的体验,那么我们今天展开说说启动优化相关的问题。我们先来简单分析一下启动过程、启动优化方向,最后再运用我们的启动框架来优化这个过程。一、启动流程。

2023-10-07 15:25:57 289

原创 CoordinatorLayout/AppBarLayout记录滚动位置异常问题

第二步,我们发现offsetToChildIndexOnLayout 该值是在android.support.design.widget.AppBarLayout.BaseBehavior#onRestoreInstanceState该方法中进行赋值的,看到这两个方法是不是很熟悉啊,这个不就是保存状态跟恢复状态吗,那为什么会不调用呢,我们再继续找下去。= NO_ID,恍然大悟呀,原来是因为没有设置id,导致view保存失败,所以无法记录滚动位置。开发中遇到该问题,比较生僻,望与君共勉!

2023-09-20 17:20:55 164

原创 Android 打造展开收起控件,并支持正则

最近有个需求,要支持展开收起、并且还需要支持文字中匹配正则,可点击之类等,所以就搞了个自定义view。先上个图,大家可以看下效果。以上是展开收起的效果图。一、支持的功能。 支持行数设置,超过行数后进行展开收起功能。 支持展开收起文案设置,颜色设置。 支持收起文案前加入特定文字,如【...收起】。 支持一切textview控件的功能。 支持正则表达式匹配文字,并且设置匹配到文字的颜色、点击事件。 支持正则表达式匹配到的文字前后加入特定符号,如【#正则匹配到的文字#】。二、..

2021-05-21 19:15:35 381 4

原创 Android11适配

https://developer.android.google.cn/preview/privacy/storage1.用户权限授权​ (1)应用请求位置信息、麦克风、摄像头时,系统会弹出“仅限这一次”选项,属于临时授权,下次使用会再次提示用户授权。​ (2)自动重置未使用应用权限,几个月不使用的应用,被授予的权限自动恢复为重新授权状态。​ 如果想避免自动被重置权限(如:同步数据、与智能设备通信、与配套设备匹配),可以引导用户Intent跳转到Settings.ACTION_APPLIC

2020-08-13 16:37:33 1517

原创 Android AOP统计埋点,无侵入实现

使用aop切面编程实现统一埋点,无侵入式。

2020-08-04 17:26:11 1128

原创 Android rxpermissions二次封装,打造高大上的权限请求

android自从6.0开始就需要进行危险权限申请,android原生的权限申请太繁琐,我们本文采用rx全家桶中的rxpermission权限请求框架。

2020-08-04 17:04:12 811

原创 Android MP3文件录制 + 声音分贝大小自定义View实现

最近项目中需要录制Mp3文件,但是大家都知道Mp3文件Android原生是不支持录制的,所以我用到了Lame库进行将原始音频PCM数据边录边转,不多BB,先上图。大体实现逻辑如下:音频相关概念: PCM:最为原始的一种格式,PCM 数据是音频的裸数据格式,不经过任何压缩。 MP3:全称MPEG Audio Layer3,是一种高效的计算机音频编码方案,它以较大的压缩比(1:10至1:12)将音频文件转换成较小的扩展名为.mp3的文件,且能基本保持原文件的音质。...

2020-07-10 15:18:03 868 1

原创 Android Retrofit源码解析

retrofit相信大家都或多或少使用过,今天我整理了一下retrofit相关源码及原理,分享给大家。

2020-05-07 18:09:22 190 1

原创 Android 反射的一些重要方法

一、反射是什么?反射是运行状态中我们可以通过反射获取到类的所有信息,包括构造方法、成员变量、属性、方法等,对其可以进行操作。二、反射中的一些方法使用。 1.class getName(): 获取全类名,带包名 getSimpleName(): 获取类名 Class.forName("类名全路径"):返回类对象 getPackage(): 获取包名,有前缀package...

2020-04-22 08:47:48 604

原创 Android 注解解析及使用

目录一、注解解析。1.什么是注解?2.为什么要使用注解?3.android中常见的注解有哪些?4.元注解。一、注解解析。1.什么是注解?注解是一系列元数据,它提供数据用来解释程序代码,但是注解并非是所解释代码的一部分。注解对于代码的运行效果没有直接影响。通俗易懂点讲,注解就是一种标签,对类、方法、属性等赋予的一种代码级解释,对代码的运行效果没有丝毫影响。...

2020-04-21 18:37:30 1109 1

原创 Android 仿京东搜索历史之自定义ViewGroup

仿照京东搜索历史中,如果textview一行显示不全则进行换行。先上图!!!如图所示,自定义viewgroup实现京东搜索历史效果。自定义ViewGroup详解首先我们来讲一下实现原理,自定义viewgroup实现的步骤:重写onMesure() 方法计算子view的高度和 重写onLayout() 方法计算子view的摆放位置onMesure方法详解onMesu...

2020-04-15 17:57:36 1188

原创 android 视图动画工具类

自己封装的用代码实现android视图动画工具类,拿走不谢!!!package com.cnki.roundcake;import android.view.animation.AlphaAnimation;import android.view.animation.Animation;import android.view.animation.AnimationSet;impor...

2019-12-04 16:41:39 225

原创 android 自定义百分比饼图

先上图普通效果点击效果,点击之后会放大半径实现百分比圆饼,整体步骤分为1.先根据数据集占的百分比画圆弧,使用不同颜色,很简单2.然后设置点击重绘圆饼,判断点击区域在不在圆上,如果在圆上,那么在具体的哪个圆弧上面上代码:直接拿去使用即可package com.cnki.roundcake;import android.content.Context;imp...

2019-12-03 18:05:56 619

原创 android 自定义蜘蛛网状图形

话不都说,先上图如图所示,玩lol的玩家都知道,战力分析图,那么怎么实现呢?具体思路是,1.首先话六边形,用Path进行每个点的链接 2.画连接线,中心点跟最外层六边形各个顶点 3.画数据图,用path进行连接数据,然后paint采用填充模式即可 4.写文...

2019-12-03 10:51:04 353

原创 Android 属性动画详解

 引言:   现在市面类似功能的App太多,如果你想要在类似的App中脱颖而出的话,那么你就要在增强用户体验方面下功夫,动画是你最好的选择。它可以给用户增加指引、吸引眼球、提醒用户跟着你一步步操作等等,动画是一个成熟App必不可少的。 Android动画分类:       先简单介绍一下Android中的几种动画,大致可分为三种: 1.补间动画(也叫视图动画、Tween动画...

2019-01-09 18:49:59 3294

原创 android app引导页返回问题

  今天做项目出现了一个app引导页频繁进入退出程序,会出现黑色方块遮挡屏幕问题,查找了好久也没有找到原因!  突然发现所有app在引导页或者启动页都会屏蔽掉返回按键,灵感来了,原来如此啊,引导页或者启动页都要屏蔽掉返回键,避免程序频繁启动,出现屏幕绘制失败问题。...

2018-11-14 17:48:55 454

原创 Android java调用go语言,.go文件生成android调用的aar包

        Go语言专门针对多处理器系统应用程序的编程进行了优化,使用Go编译的程序可以媲美C或C++代码的速度,而且更加安全、支持并行进程。        想要运用androidstudio调用.go文件中的方法,具体操作如下:        1.安装go环境(mac系统)        (1)安装Homebrew命令: ruby -e "$(curl -fsSL https:/...

2018-10-09 18:26:19 3244 1

原创 Android 微信分享不显示分享出去的图标问题

android微信分享到ios会出现不显示分享出去logo问题,原因是分享的内容涉及到红包或者人民币(钱)之类的敏感词汇,微信会屏蔽掉,主要分享内容用繁体字或者别的符号代替即可。...

2018-08-29 16:55:11 2791

原创 android 对象滥用导致内存泄漏之性能篇

  1.单例模式      频繁使用的对象尽量多应用单例模式,饿汉式跟懒汉式加载。      注意:但是小心单例模式造成的内存泄漏,                    比如: public class DeviceManagerFactory { private static DeviceManagerFactory singleton; private DeviceMana...

2018-04-13 13:09:32 578

转载 URL的各个组成部分详解

就以下面这个URL为例,介绍下普通URL的各部分组成http://www.aspxfans.com:8080/news/index.asp?boardID=5&ID=24618&page=1#name从上面的URL可以看出,一个完整的URL包括以下几部分:1.协议部分:该URL的协议部分为“http:”,这代表网页使用的是HTTP协议。在Internet中可以使用多种协议,

2017-05-09 18:21:34 17565

转载 AudioManger中文API总结

1.获得AudioManager对象实例AudioManager audiomanage = (AudioManager)context.getSystemService(Context.AUDIO_SERVICE);2.相关方法详解常用方法:adjustVolume(int direction, int flags): 控制手机音量,调大或者调

2017-04-27 15:00:22 750 3

原创 MVP开发模式个人总结

通过查阅鸿洋大神的MVP开发模式后,个人总结MVP给我感觉,主要记录并总结一下自己对MVP的理解。直接进入主题(MVP):model:实体类跟业务逻辑层的实现view:activity(主要是对外提供activity中所展示的内容,比如控件,数据等等东西,因为activity中需要代码清晰,所以只对外提供你的业务逻辑中所需要用到的当前数据即用户产生的即时数据,控件等等东

2017-04-25 15:44:57 592

空空如也

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

TA关注的人

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