自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

安卓兼职framework和app工程师的博客

从事7年app和os定制开发

  • 博客(20)
  • 资源 (53)
  • 问答 (1)
  • 收藏
  • 关注

原创 Android 内存泄露的介绍及解决方案

1.定义:内存泄露指的是内存中存在已经没有用的对象而没有被GC回收2.表现:内存抖动,可用内存逐渐变少3.危害:内存不足,GC频繁,OOM解决方案:1 通过Memory Profiler工具进行初步观察,发现有内存泄露的情况2.通过Memory Analyzer工具结合代码进行确认...

2020-02-28 21:23:55 144

原创 Android 内存抖动的介绍

在开发大型app中,会遇到内存抖动的情况,什么是内存抖动呢,就是内存频繁的分配和回收,从而造成内存不稳定,内存不足及碎片,它有哪些表现呢表现:频繁GC,内存曲线呈现出来锯齿状危害:导致卡顿,OOM解决方案1.Memory Profiler工具排查在AS开发工具的左下角 点击Profiler 就弹出Memory Profiler界面,这时候我们就可以看到如果app有内存抖动的情况,就...

2020-02-27 20:33:51 220

原创 Android 详解build.gradle文件

Android Studio是采用Gradle来构建项目的。Gradle是一个非常先进的项目构建工具,它使用了一种基于Groovy的领域特定语言(DSL)来声明项目设置。首先看项目最外层目录下的build.gradle文件,代码如下所示:buildscript { repositories { google() jcenter() } d...

2020-02-26 21:37:07 461

原创 Android app内存优化方案

android开发过程中,对于内存优化也是特别重要的,在面试当中也会问到这些问题,那么怎么样做内存优化呢,内存优化一般会从三个方面优化1.内存抖动:锯齿状,GC导致卡顿2.内存泄露:可用内存减少,频繁GC3.内存溢出:OOM,程序异常工具选择1.Memory profiler它是用实时图表的形式来展示应用内存使用量2.Memory Analyzer它是强大的Java Heap分析工...

2020-02-26 17:44:09 358 1

原创 android app启动优化两种测量app启动时间的方式

1.app启动优化 用adb命令测量启动时间 命令如下adb shell am start -W packagename/packagename.MainActivity然后运行后出现三个时间ThisTime:最后一个Activity启动好使TotalTime:所有Activity启动耗时WaitTime:AMS启动Activity的总耗时2.手动打点的方式开始时间为 applica...

2020-02-25 17:00:05 274

原创 android 如何在terminal中生成release apk文件

terminal输入 ./gradlew assembleRelease 编译release包

2020-02-22 16:26:41 559

原创 Android app快速定位耗时代码的方法

查看Logcat在Android Studio Logcat中过滤关键字“Displayed”,可以看到对应的冷启动耗时日志。adb shell使用adb shell获取应用的启动时间adb shell am start -W [packageName]/[AppstartActivity全路径]执行后会得到三个时间:ThisTime、TotalTime和WaitTime,详情如下:T...

2020-02-16 19:04:49 598

原创 Git 命令全集

一、Git 配置相关如果你首次使用 Git,那刚开始首先是需要配置各种身份信息的,这样当你提交相关任务的时候,别人才能知道这个 commit 是谁提交的。(1)、Git 最小配置1、配置全局账户,也就是该账户对所有的 Git 仓库都有效git config --global user.name ‘你的账户名称’git config --global user.email ‘你的 Emai...

2020-02-16 18:56:07 118

原创 Android ViewHolder 的 MVVM实现方式

在App的开发中,使ViewHolder可以像Activity或Fragment那样使用MVVM模式。让ViewHolder拥有生命周期,通过ViewModel与LiveData对数据变化进行监听,在被复用后与原LiveData解绑,解决复用后数据错乱的问题。(1)创建抽象类BaseLifecycleViewHolder继承ViewHolder,实现LifecycleOwner接口,使之拥有生命...

2020-02-16 17:58:20 605

原创 Android TV-电视开发常用知识点讲解

主要分为TV-UI,IPTV,OTT,DVB,TVOS,DEBUG等几大模块展开。适用于常见盒子,电视,投影仪等TV开发。MindMap开局一张图,直接上脑图UIAndroid TV 界面开发有别与传统的移动手机端开发,TV端的交互主要是有用户遥控器操作完成,因而在TV上按键和焦点的处理显得尤为重要,其次TV端的输出显示媒介主要是电视显示屏,不同的电视所能支持的输入显示分辨率也不一样,因...

2020-02-14 13:54:00 2020

原创 Android设备唯一识别码的获取

详细参考WIKI百科。UUID(Universally Unique Identifier) 全局唯一标识符:指在一台机器上生成的数字,它保证对在同一时空中的所有机器都是唯一的,由以下几部分的组合:当前日期和时间(UUID的第一个部分与时间有关,如果你在生成一个UUID之后,过几秒又生成一个UUID,则第一个部分不同,其余相同),时钟序列,全局唯一的IEEE机器识别号(如果有网卡,从网卡获得,没有网卡以其他方式获得)IMEI是手机的身份证,MEID是CDMA制式(电信运营的)的专用身份证;

2020-02-14 13:46:34 6443

原创 Android 组件化工程结构分析以及项目方案的实施

组件化工程结构Android组件化架构.png第一层:空壳app。应用的入口,可存放启动页,依赖所有业务组件第二层:业务组件。根据不同业务横向拆分出来的业务组件。任何一个业务组件都可以独立出来成为一个应用第三层:功能组件。通用业务是从应用业务中抽取出来的交集,从应用上说,他属于业务,而针对应用业务而言则更像是一种功能,好比登录这种业务功能,不需要关心有没有界面,当中是怎样的逻辑,只需要提供...

2020-02-14 10:59:11 339

原创 Android音视频开发:音频非压缩编码和压缩编码

音视频在开发中,最重要也是最复杂的就是编解码的过程,在上一篇的《Android音视频开发:踩一踩“门槛”》中,我们说音频的编码根据大小划分有两种:压缩编码和非压缩编码,那到底是怎么实现的这两中编码的呢?这一次就详细了解Android中如何使用这两种方式进行音频编码前景提要这里先回顾一下音频的压缩编码和非压缩编码:非压缩编码:音频裸数据,也即是我们所说的PCM压缩编码:对数据进行压缩,压缩不...

2020-02-13 09:11:31 524 1

原创 Android Command 开发常用命令行合集

在进行系统产品开发中,adb命令也是常有的,方便查询一些功能,接下来收集了好多常用的命令,来方便使用。

2020-02-13 08:58:12 1907

原创 Android adb常用命令详解

1.ADB定义ADB全称Android Debug Bridge。ADB是一种功能多样的命令行工具,起到了调试桥的作用,可以用来操作Android设备。ADB是Android开发/测试人员强大的工具。可以说,ADB对我们Android的开发至关重要,深入的了解常用的命令和作用就显得至关重要了ADB使一种客户端-服务器程序,包括以下三个组件:客户端:用于发送命令,客户端在开发计算机上运行...

2020-02-12 14:17:56 478

原创 android Activity讲解二

用户交互第一窗口,采用Activity栈管理Activity1.Activity形态Active/Running栈顶可见,与用户交互Paused新的非全屏或者透明的Activity来到栈顶失去焦点和与用户交互能力,状态信息、成员变量保留内存极低情况会被系统回收Stopped新的Activity完全覆盖不再可见状态信息、成员变量依然保留Killed被系统回收掉2.Acti...

2020-02-04 16:45:01 134

原创 android 解决键盘遮挡问题

android开发过程中,会遇到编辑框输入内容弹出软键盘,往往会出现键盘遮挡内容,或者出现页面整体上移的,或多或少在体验上都不是很优雅,今天提供个方法是自行控制页面上移距离,竟可能让页面呈现给用户友好点。一般我们会在AndroidManifest.xml 里配置windowSoftInputMode来控制键盘与页面的交互。举个栗子,一个简单的登录页面。adjustResizeactivit...

2020-02-04 16:10:35 574 2

原创 android开发 动态drawable的创建

如何创建一个动态的drawable 图片如下:创建drawable<?xml version="1.0" encoding="utf-8"?><animation-list xmlns:android="http://schemas.android.com/apk/res/android" android:oneshot="false"> &lt...

2020-02-03 15:09:30 532

原创 Android file.delete()与file.deleteOnExit()的区别

1.delete()方法: 当调用delete()方法时,直接删除文件,不管该文件是否存在,一经调用立即执行;2.deleteOnExit()方法: 当调用deleteOnExit()方法时,只是相当于对deleteOnExit()作一个声明,当程序运行结束,JVM终止时才真正调用deleteOnExit()方法实现删除操作。即该方法是将删除的命令缓存了一下,到服务停止的时候再进...

2020-02-03 15:02:46 2739

原创 android 多线程开发 正确关闭线程的方法

在Android开发中,经常会碰到多线程,关于线程的关闭,可能会用stop() 方法,但是stop是线程不安全的,一般采用interrupt,判断线程是否中止采用isInterrupted,如果线程中有Thread.sleep方法,当设置中断后,执行这个方法会抛出异常,就务必在异常中继续关闭线程Thread thread = null;thread = new Thread(new Runn...

2020-02-03 14:15:24 1517

android Accessibility无障碍服务实现获取系统全局任何控件的名称和坐标信息

运用android系统中的Accessibility无障碍服务实现获取系统全局中任何控件的名称和坐标信息等AccessibilityNodeInfo的信息

2024-03-23

android 悬浮窗全屏显示,锁屏页面悬浮窗全屏显示

实现悬浮窗全屏功能,覆盖导航栏状态栏,在锁屏页面同样做到悬浮窗显示在锁屏页上面,并且做到全屏显示

2024-03-22

读写xls 和 xlsx格式的excel文件

app 里面 可以读写xls 和xlsx格式的文件

2022-05-20

10.0 根据包名授予app所需的权限.rar

10.0 根据包名授予app所需的权限 去掉首次运行授权

2021-11-10

10.0 电压低不能开机增加提示功能.rar

10.0电压过低 不能开机 增加提示功能

2021-11-08

10.0 充电电压过高增加提示弹框和警报声.zip

10.0添加充电电压过高增加提示弹窗和警报声的功能

2021-11-07

10.0去掉前置摄像头闪光灯功能.zip

10.0 Camera2去掉前置摄像头闪光灯功能

2021-11-07

10.0 init.rc中data下创建文件节点失败.zip

init.rc 在data创建文件夹和节点的正确方法

2021-11-07

10.0创建恢复出厂设置不被清除的文件夹节点.zip

创建恢复出厂设置不被清理的文件夹和节点 保存不该清理掉的数据

2021-11-07

10.0修改系统版本号和系统ID.rar

10.0修改系统版本号Build.DISPLAY和系统id号Build.ID

2021-11-05

9.0 10.0设置系统默认语言为中文.rar

9.0 10.0修改系统默认语言为中文,开机默认中文显示

2021-11-05

10.0在电话拨号盘(Dialer app中)通过暗码进入工厂测试模式.rar

10.0在通过拨号盘添加暗码进入工厂模式的功能,输入特定暗码 然后进入工厂模式方便测试

2021-11-05

10.0添加开机音乐.rar

Android 10.0增加开机音乐功能

2021-11-05

9.0 10.0SystemUI默认展开下拉框(展开下拉快捷).rar

Android 9.0 10.0 SystemUI实现默认展开下拉列表,显示所有下拉快捷

2021-11-05

Android(Q)10.0添加关机音乐和关机动画.rar

10.0添加关机音乐和关机动画的功能

2021-11-05

Android 自定义ListView和RecycleView实现多级树功能

自定义ListView和RecycleView实现多级树功能 实现类似qq分组列表

2021-09-22

9.0 10.0屏蔽锁屏 息屏功能.rar

Android 9.0 10.0屏蔽锁屏功能和息屏功能 让平板永不息屏和从不锁屏

2021-09-15

Android 9.0 10.0 framework添加KeyEvent按键事件流程.rar

9.0 10.0 在framework层添加KeyEvent按键事件的流程

2021-09-14

FlowLikeStar.rar

利用贝塞尔曲线原理自定义仿qq 点赞动画

2021-09-11

9.0 10.0 USB连接模式默认设为MTP.rar

android 9.0 10.0 USB连接模式默认充电连接模式修改为默认设置为MTP模式

2021-09-10

8.0 9.0 10.0静默安装和卸载

8.0 9.0 10.0静默安装和卸载的功能

2021-09-09

自定义时间选择器 农历公元时间切换 省市联动器

自定义时间选择器 农历公元时间切换 省市联动器 圆分割线等功能

2021-09-09

9.0 10.0去掉锁屏和息屏功能(永不息屏).rar

9.0 10.0去掉锁屏和息屏功能(永不息屏) 让屏幕永不息屏和锁屏

2021-09-08

仿ios底部弹dialog

仿ios底部弹出对话框

2021-09-08

8.1 9.0 10.0安装app时抛出异常解决方案.rar

8.1 9.0 10.0在系统app中代码安装app时抛出Permission Denial that is not exported from UID 1000的异常的解决方案

2021-09-07

android 自定义仿微信底部菜单栏

仿微信底部菜单栏 底部菜单字体显示隐藏 底部菜单缩放等等

2021-09-05

android 支持水平垂直滚动的RecyclerView

支持水平垂直滚动的RecyclerView的app demo

2021-09-03

android 自定义酷炫ViewPager切换效果带页面弹性指示器动画

自定义酷炫的ViewPager控件 在切换图片时,带页面弹性指示器动画效果

2021-09-02

android 自定义View动画全集

app包含图层混合 滤镜效果 粒子爆炸 拖拽气泡 动画绘制文字 圆形水波纹进度条 自定义加载动画 Splash动画等

2021-09-01

android 粒子爆炸和气泡拖拽SplitDemo.rar

实现粒子爆炸 破碎酷炫动画 气泡拖拽动画 滤镜 图层混合等效果

2021-08-26

侧滑菜单依次弹出(动画效果) SlideMenuPro.rar

android 侧滑菜单依次弹出demo 点击菜单按钮 按顺序弹出菜单,关闭侧滑菜单也是按顺序关闭

2021-08-25

android 读写Excel(支持xlsx xls格式)

app 读写Excel 支持读写xlsx和xls格式

2021-08-19

android app设置动态壁纸和静态壁纸的DynamicWallpaper.rar

在app中设置系统静态壁纸和动态壁纸

2021-08-18

9.0 10.0Launcher3设置app图标和hotseat图标为圆角图标

9.0 10.0Launcher3修改默认的app图标和hotseat图标为圆角图标

2021-08-13

android 9.0 10.0设置上网白名单

9.0 10.0设置上网app白名单 在白名单内的app可以上网 其他的app不能上网

2021-08-10

android 自定义单手指旋转抽奖转盘

自定义手指滑动旋转抽奖转盘的demo 根据手指旋转弧度来旋转转盘

2021-08-10

android10.0禁止拨打电话(屏蔽拨打电话功能).txt

android 10.0禁止系统拨打电话功能,屏蔽掉系统拨打电话的功能

2021-08-09

android 9.0 10.0Launcher3 Hotseat 添加apps button.txt

android 9.0 10.0Launcher3中 Hotseat 添加apps button功能 点击apps 进入app列表界面

2021-08-08

android 9.0 10.0添加负一屏(左一屏)功能left_screen.rar

android 9.0 10.0添加负一屏(左一屏)的功能,适用于各大平台,纯原生代码,添加到Launcher3以后 就可以使用了

2021-08-06

android 自定义九宫格图案解锁DrawPwd.rar

android 自定义九宫格图案解锁demo,绘制完图案后 保存当前密码,然后第二次比对图案密码看和保存的密码是否一致

2021-08-05

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

TA关注的人

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