自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(1053)
  • 资源 (47)
  • 收藏
  • 关注

原创 2020-08-01 Google 省电模式

1. 省电模式主要做什么?DisplayPowerController->屏幕亮度减半VibratorService->关闭触摸震动和来电震动NetworkPolicyManagerService->限制 Doze 非白名单应用联网(WiFi与数据流量)使用WindowManagerService->关闭动画PowerManagerService->省电模式-CPU降频UiModeManagerService->开启暗色主题模式(Q平台版本新增)GnssL

2020-08-01 23:11:31 1355 1

原创 Android 剩余可用时长的计算公式

1. 剩余可用时长 BatteryStatsImpl.computeBatteryTimeRemaining 函数http://androidxref.com/9.0.0_r3/xref/frameworks/base/core/java/com/android/internal/os/BatteryStatsImpl.java**公式:剩余电池可用时长 = 每消耗1%的电量的平均时间 * 当前电量值 **原理:统计出每次放电的电量变化的时间,获得每消耗1%的电量的平均时间,再根据当前电量值,从而得到

2020-07-19 23:11:35 3419 2

原创 [20191207][Android10]高德地图导航功耗场景优化

1. 测试现象1.1 EPRODUCING PROCEDURES:1.进入高德 Map(data) wifi),起点为自己所在位置,搜索一个位置进行导航;2.等待30秒后开始记录电流,持续5分钟;3.按Power键,灭屏待机;4.手机灭屏15秒后开始记录电流,持续3分钟;1.2 Test numberSummaryTokyo pro设备高德地...

2019-12-07 16:55:18 3848 1

原创 GPS框架和省电

一、GPS 功能介绍1.1 术语介绍GPS是由美国国防部研制建立的一种具有全方位、全天候、全时段、高精度的卫星导航系统,能为全球用户提供低成本、高精度的三维位置、速度和精确定时等导航信息,是卫星通信技术在导航领域的应用典范,它极大地提高了地球社会的信息化水平,有力地推动了数字经济的发展1.2 GPS与GNSS区别GNSS 的全称是全球导航卫星系统(Global Navigation Sat...

2019-11-24 20:49:07 462

原创 App读写文件节点配置Se linux权限

0.文章参考https://blog.csdn.net/xiaoxiangyuhai/article/details/76270294https://blog.csdn.net/u014341735/article/details/512442581. 需求App 中进行读写Linux下的文件节点/sys/class/power_supply/battery/coulomb_cou...

2019-06-27 12:04:02 3464

原创 201805个人对于场景省电的初识

0.前言个人笔记1. 场景省电省电场景联想,后续主流手机大厂都倾向于场景识别2. 省电技术常用的省电技术,在合适的时间合适的场景遇到合适的技术,才是缘分...

2018-05-14 14:54:52 565

原创 应用标签思路参考

基于pid维度建立1.应用使用资源标签例如sensor,gps,bluetooth,audio,NFC,camera, 麦克风等,2.应用状态标签例如是否可见,前台,后台,上传下载等,3.应用和系统关联的标签例如widget,画中画,悬浮窗,知通栏等,为应用冻结,关联启动,CPU锁托管,查杀应用,限制应用的IO等快稳省策略提供标签支撑。2.基于位掩码操作例如|= 添加状态,&= ~ 清除状态,^ 检测变化管理20多个标签值,&的方式确定标签状态的值,可高效低内存获取应用的单个或多个标签状态。

2025-07-05 20:54:37 302

原创 应用标签中下载场景的思路参考

这里的接口我直接从源码的BatteryStatsImpl.java中参考,分别批量获取所有UID对应的wifi和数据流量大小,然后合并uid对应的wifi+数据的总流量大小。使用应用宝下载,下载流量速度和我前台可见差不多。基本够用,后续规避一些游戏应用后台下载场景,避免误杀和误冻结等。备注:联网其实是不稳定的,我们有时需要结合次数+(网速或流量大小)维度,进一步评估是否为下载场景,提高准确度。2.从流量大小的角度定于开始下载和停止下载的阈值。1.从网速的角度定于开始下载和停止下载的阈值。

2025-07-03 20:04:43 279

原创 HW冻结的三态机制设计思想参考

资源分级释放通过running→idle→freeze的分层过渡,确保冻结前释放非关键资源(如网络连接),避免强制杀进程导致数据丢失延迟窗口防误杀3秒延迟检查可捕获短暂活跃任务(如后台播放音乐),减少误冻结概率状态原子性冻结态通过STATE_FREEZE标签锁定,类似三态门的高阻态,确保资源彻底隔离核心流程解析(1) 状态定义与标签更新None:初始状态,无标签。Running:对应STATE_RUNNING标签,活跃态下执行ActionRunning.performAction(true)设置标签为tru

2025-07-01 21:26:32 291

原创 ANR的分析思路

bugreport 或者 /sys/kernel/debug/binder/ 下文件过滤:outgoing transaction,incoming transaction,BINDER TRANSACTIONS,BINDER TRANSACTION LOG。event log:binder_sample: 监控每个进程的主线程的 binder transaction 的耗时情况, 当超过阈值时,则输出相应的目标调用信息。(前台 10s,后台 60s)(前台 20s,后台 200s)

2025-06-29 14:01:59 539

原创 手机小厂的应用类型如何实现?

应用类型属于应用标签的一个子功能,什么是应用标签呢?管控应用需要根据应用的状态来进行管控,比如应用冻结,关联启动,CPU锁托管,查杀应用,限制应用的IO等功能,都需要根据应用的当前状态,用户没有使用时才能执行管控,不然会影响用户的体验。所以需要设计一套对每个应用的状态进行对应的打标签,提供给其它模块使用,即系统优化策略中的底座。应用标签主要提供以下能力:1)梳理常见的19种~26种需要用到的应用标签和20种左右应用类型2)标签框架插桩解耦和实现方法3)应用标签融入到系统架构中。

2025-06-27 21:27:05 351

原创 原生策略与功耗方案参考

对齐触发时序和接入绿盟异常检测与灭屏缓存不执行,延迟到亮屏再触发。4.帧率对齐:视频频率跟动画降帧后对齐,实现整体30HZ绘制刷新。定制名单和后台长链接心跳优化,使用厂商PUSH替代长链接。6.软件绘制和硬件绘制:3.0以上默认开启硬件加速绘制。7.wifi组播过滤和灭屏投屏路由的多播频繁唤醒治理。8.灭屏的Wifi fullWakeLock的限制。Wifi的组播和WifiFullLock的管理。1.2高频使用的算法优化,如压缩算法和正则优化。3.降低绘制帧率:降低应用动画等绘制帧率。

2025-06-24 21:31:31 395

原创 学习Linux进程冻结技术

进程冻结技术(freezing of tasks)是指在系统hibernate或者suspend的时候,将用户进程和部分内核线程置于“可控”的暂停状态。

2025-06-23 21:54:21 665

原创 Android中Native向System Service进行Binder通信的示例

FLAG_ONEWAY表示“不用等回信”​​​​​​​// 包名需与writeInterfaceToken()一致package com.fadi.fadiRecord;

2025-06-19 21:32:00 313

原创 linux thermal framework(5)_thermal core

本文从thermal framework core对内部实现做一个简单的分析。

2025-06-17 21:26:38 762

原创 linux thermal framework(4)_thermal governor

thermal governor是通过一定算法控制cooling device状态来控温的在这篇文章中,我们使用一个简单的step_wise governor来说明整个过程。

2025-06-15 20:25:03 871

原创 linux thermal framework(3)_thermal cooling device

linux使用thermal cooling device来描述一个平台上可以降温的设备。

2025-06-13 22:51:05 1005

原创 linux thermal framework(2)_thermal zone

linux使用thermal zone来描述一个平台各个区域的温度信息,本文详细介绍thermal_zone相关的函数接口和相关调用过程。

2025-06-12 07:00:00 986

原创 linux thermal framework(1)_概述

热能是电子器件在通电工作后散发能量的主要方式之一,电子器件(cpu、电源适配器等)中的电阻、晶体管、集成电路等元件在工作中,电流通过导体,电子与原子碰撞,导致能量以热能形式散发。在手持移动设备(手机、手表等)中,由于接触人体皮肤,保证设备的温度在人体可接受范围内是重要的一个研发方向,硬件上可以通过选择更低功耗的电子器件或者在设备内部添加散热材料,比方说导热凝胶、石墨片、金属散热片等,来降低温度,软件上一般可以通过温度监控和动态频率调节减少热量产生的方式来降温。

2025-06-10 22:26:56 1063

原创 LMKD(Low Memory Killer Daemon)原理初识

非常明确的一点是min_score是有最小值的,最小值是0,也就是所有分数为负值的进程肯定是不会被lmkd杀掉的,在系统资源极度极度紧张的情况下,分数大于等于0的进程都会被杀掉(前台进程、后台无焦点进程、后台进程)以上就是该杀谁的内容,其实杀的进程都是app进程,后台app进程是先被杀掉的,像system_server进程、系统persistent进程它们都是负值是不会被杀掉的,甚至系统native进程它们的分数基本都是-1000,因此也是不会被杀掉的。频繁的进行进程维度的内存回收,会有性能衰退的风险。

2025-06-09 22:24:23 1029

原创 AOSP CachedAppOptimizer中的冻结和内存压缩功能

冻结(Freezer)和压缩(Compaction)的执行顺序是明确且不可随意调换的。默认顺序:先压缩,后冻结,冻结依赖压缩完成。冻结会将进程的内存页标记为不可移动(PG_dontdump),若先冻结再压缩,内核会跳过冻结进程的内存页,导致压缩失效。- 进程未被取消压缩(!冻结和内存压缩两个功能独立触发,可以单独触发也可以组合触发,默认顺序:先压缩,后冻结。- 内存碎片化严重(compact_full_rss_throttle_kb)冻结后内存页标记为不可移动(PG_dontdump),避免压缩开销。

2025-06-07 20:35:03 444

原创 Doze功耗加强方案思路参考

AOSP的Doze的最大优点是识别设备不在使用的场景并对应用进行CPU和网络活动限制,但是存着第三应用可以提高进程优先级和唤醒系统闹钟,导致doze无法正常时序进入和无法管控流氓应用。基于实际功耗问题我们提出如下方案:1.Idle期间运动状态或短暂灭屏场景,也能迅速重新进入doze同时减少窗口期延长idle时长2.60分钟内有允许唤醒系统的闹钟也可以进入doze。

2025-06-05 21:32:40 238

原创 如何爬取google应用商店的应用分类呢?

可以爬取应用的分类,但是感觉稳定哈。可能是国内VPN不稳定,且爬虫很费时间,感觉跑完也需要好几小时以上哈。我家公司没有自己的应用商店,故应用类型需要自己爬虫生成数据库,供后续代码查询实现了。执行后可以看到开始进行Google 应用商店的应用分类可视化爬虫。

2025-06-03 21:55:36 332

原创 Android的uid~package~pid的关系

Android 应用包名(例如android),一个 UID 可关联多个 Package(共享 UID 场景如android:sharedUserId="android.uid.system")。Linux 系统级用户标识,Android 中每个应用安装时分配唯一 UID(如。进程运行时动态分配的临时标识,同一 Package 可运行多个进程。(共享UID),是 Android 高效运行的基础。

2025-06-01 20:59:07 443

原创 【功耗治理】应用宝是真的猛,Doze的idle下依旧可以联网

函数名称目标场景豁免条件严格程度省电/Doze模式前台进程 或 有电源相关网络能力中低电量待机模式仅顶级进程(如锁屏)极高普通后台限制非纯后台进程 或 有网络特权低用户手动限制后台数据前台进程 或 用户发起的后台任务(经过上述优化,进程10225的应用宝进程在Doze模式下,被成功的限制网络能力了。​​​​​​​。

2025-05-30 21:58:57 288

原创 应用宝的NotificationManagerService_post_com.tencent.android.qqdownloader持锁现象

现象:应用宝的NotificationManagerService_post_com.tencent.android.qqdownloader在Doze下也可以频繁持锁,很猛啊。解决方案:直接拦截持锁就行,也可以冻结,限制服务或主动释放锁,反正解决起来很容易。就是没想明白,为了保活目的这么拼干啥。因为在AOSP代码也就是一个if else就屏蔽掉了哈,甚至都不需要查杀或冻结操作。

2025-05-28 22:38:36 395

原创 一个简单的系统插桩实现​

系统最简单的插桩就是单例模式把事件引过来,为了对于追求代码优雅和解耦的要求,也会进行通过。中插入自定义逻辑,实现对系统行为的监控或修改,同时保持原有代码结构不变。在main中是android最早的启动入口,故非常适合插桩点注入。实现逻辑进行封装,让stub接口类和stubImpl实现类解耦。DozePlusStub定义标准接口,提供单例模式插桩。换一句程序员喜欢的人话:单例模式和接口解耦实现。FadiEngineStub负责实现类的注入。单例模式+接口解耦+反射。

2025-05-26 21:27:48 205

原创 Linux电源管理(15)_PM OPP Interface

本文是分析cpufreq framework之前的一篇前置文章,用于介绍Linux电源管理中的Operating Performance Point (OPP)接口。OPP是一个单纯的软件library,用于归纳、管理各个硬件模块的、可工作的{频率}/ {电压}组合。

2025-05-24 20:31:53 969

原创 Linux电源管理(14)_从设备驱动的角度看电源管理

相信工作稍微久一点的linux驱动工程师都深有体会:在旧时光里,实现某一个设备的电源管理功能,是非常简单的一件事情。大多数设备都被抽象为platform设备,driver只需要提供suspend/resume/shutdown等回调函数,并注册到kernel即可。kernel会在系统电源状态切换的过程中,调用driver提供的回调函数,切换设备的电源状态。但是在新时代中,设备电源管理有关的操作,被统一封装在struct dev_pm_ops结构中了。

2025-05-22 20:48:05 964

原创 Linux电源管理(13)_Driver的电源管理

所以,开发者需要注意的事情,是保证设备的电源行为符合内核文档所描述的行为,即suspend的状态下,不占用CPU,不与主存交互等(但不一定需要进入low power mode),以及,使得设备的suspend/resume功能正常。这种是主观上的阻止,也即驱动开发者预见到这段代码执行过程中不能休眠,从而主动给PM Core报告事件,这种使用场景跟中断没有关系,可以根据需求在任何内核执行路径上报告事件,目的只是为了阻止休眠而已,需要注意的是,这种设置是没办法唤醒已经休眠的系统的。那么,这个特性怎么使用呢?

2025-05-19 21:40:39 679

原创 Linux电源管理(12)_Hibernate功能

出于省电和快速开机的需求, Hibernation经常被应用到Laptop和移动终端上,本文就简单讲讲Hibernation的一种实现实现方法,SWSUSP( Swap Suspend),其实swsusp从2.6开始就已经被引入到内核版本树中了,所以如果想分析swsusp的代码实现的话,还是挺方便的,只要有有2.6之后的内核代码即可。本文不会过分深入分析代码,但文章最后会给出hibernation 和 resume的整体流程图。

2025-05-17 22:39:25 926

原创 Linux电源管理(11)_Runtime PM之功能描述

软件工程的基本思想就是模块化:高内聚和低耦合。通俗地讲呢,就是“各人自扫门前雪”,尽量扫好自己的(高内聚),尽量不和别人交互(低耦合)。而RPM正体现了这一思想:每个设备(包括CPU)都处理好自身的电源管理工作,尽量以最低的能耗完成交代的任务,尽量在不需要工作的时候进入低功耗状态,尽量不和其它模块有过多耦合。每个设备都是最节省的话,整个系统一定是最节省的,最终达到无所谓睡、无所谓醒的天人合一状态。

2025-05-15 21:18:58 809

原创 Linux电源管理(10)_autosleep

Autosleep也是从Android wakelocks补丁集中演化而来的(Linux电源管理(9)_wakelocks),用于取代Android wakelocks中的自动休眠功能。它基于wakeup source实现,从代码逻辑上讲,autosleep是一个简单的功能,但背后却埋藏着一个值得深思的话题:计算机的休眠(通常是STR、Standby、Hibernate等suspend操作),应当在什么时候、由谁触发?

2025-05-13 21:40:10 740

原创 Linux电源管理(9)_wakelocks

2)否则,从wakelocks_lru_most_recent的尾部(最不活跃的),依次取出wakelock,判断它的idle时间(通过wakeup source lst_time和当前时间计算)是否超出预设值(由WL_GC_TIME_SEC指定,当前为300s,好长),如果超出且处于deactive状态,调用wakeup_source_remove,注销wakeup source,同时把它从红黑树、GC list中去掉,并释放memory资源。这种做法是相当不规范的,它是典型的只求实现功能,不择手段。

2025-05-11 20:48:44 771

原创 Linux电源管理(8)_Wakeup count功能

Wakeup count是Wakeup events framework的组成部分,用于解决“system suspend和system wakeup events之间的同步问题”。本文将结合“Linux电源管理(6)_Generic PM之Suspend功能”和“Linux电源管理(7)_Wakeup events framework”两篇文章,分析wakeup count的功能、实现逻辑、背后的思考,同时也是对这两篇文章的复习和总结。

2025-05-09 21:44:30 855

原创 Linux电源管理(7)_Wakeup events framework

本文继续“Linux电源管理(6)_Generic PM之Suspend功能”中有关suspend同步以及PM wakeup的话题。这个话题,是近几年Linux kernel最具争议的话题之一,在国外Linux开发论坛,经常可以看到围绕该话题的辩论。辩论的时间跨度和空间跨度可以持续很长,且无法达成一致。wakeup events framework是这个话题的一个临时性的解决方案,包括wake lock、wakeup count、autosleep等机制。它们就是本文的话题。

2025-05-07 21:28:36 1086

原创 Linux电源管理(6)_Generic PM之挂起功能

Linux内核提供了三种暂停方式:Freeze,Standby和STR(暂停到RAM),在用户空间向” / sys / power / state”文件分别写入“ freeze”,“ standby”和“ mem”,可以触发。另外内核中,挂起和恢复过程涉及到PM核心,设备PM,各个设备的驱动,平台相关的PM,CPU控制等多个模块,涉及控制台切换,进程冻结,CPU热插拔,唤醒处理等过个知识点。就让我们跟着内核代码,一一见识它们吧。

2025-05-05 19:59:15 807

原创 Linux电源管理(5)_Hibernate和Sleep功能介绍

Hibernate和Sleep两个功能是Linux PM的核心功能,它们的目的是类似的:暂停使用——>保存上下文——>关闭系统以节电········>恢复系统——>恢复上下文——>继续使用。本文以内核向用户空间提供的接口为突破口,从整体上对这两个功能进行介绍,并会在后续的文章中,分析它们的实现逻辑和执行动作。

2025-05-03 20:11:45 1175

原创 Linux电源管理(4)_Power Management Interface

Linux电源管理中,相当多的部分是在处理Hibernate、Suspend、Runtime PM等功能。而这些功能都基于一套相似的逻辑,即“Power management interface”。该Interface的代码实现于“include/linux/pm.h”、“drivers/base/power/main.c”等文件中。主要功能是:对下,定义Device PM相关的回调函数,让各个Driver实现;对上,实现统一的PM操作函数,供PM核心逻辑调用。

2025-05-01 21:50:34 805

原创 Linux电源管理(3)_关机和重启的过程

在使用计算机的过程中,关机和重启是最先学会的两个操作。同样,这两个操作在Linux中也存在,可以关机和重启。这就是这里要描述的对象。在Linux Kernel中,主流的关机和重新启动都是通过“ reboot”系统调用(具体可参考kernel / sys.c)来实现的。另外,除了我们常用的shutdown和restart两类操作之外,该系统调用也提供了其他的reboot方式,也会在这里一一说明。本文是我们在分析Linux内核时第一次遇到架构和机器的概念,顺便解释一下。

2025-04-29 22:03:50 849

支持左右箭头显示与控制的水平滚动

功能介绍: 1.支持左右滑动自定义水平ScrollView滚动功能; 2.左右滑动中相应箭头图标显示; 3.点击左箭头图标控制左滚动; 4.点击右箭头图片控制右滚动; 使用场合:当水平方向内容放不下时,提醒用户后面还有更多的内容 ^_^ su 2014-12-24");

2014-12-24

登录界面(UI漂亮)

功能介绍 1.注册账号使用SharedPreferences本地保存账号和密码 2.注册账号设置空时,控件有抖动特效 3.本地账号和密码验证登录 4.自动登录功能 5.UI界面美观大方,可以提供参考

2014-12-24

多点触控(图片旋转与缩放

目前Google开放的API多指手势只有缩放可以直接调用,下面是一位外国大牛写的2指旋转的手势检测器。代码风格非常炫。程序支持图片缩放和旋转,并改变透明度。方便急需寻找多点手势的你提供帮助

2015-04-11

高德地图轨迹回放

地图轨迹回放包含下面功能 1.轨迹回放播放 2.轨迹回放暂停 3.轨迹回放速度增大 4.轨迹回放速度减小 5.轨迹回放中文地址显示 6.支持进度条控制轨迹回放 注:使用时替换相应地图key即可,提供Json模拟数据,保证运行

2014-12-17

获取app版本_包名_入口Activity

本demo用途:主要用于查看手机中应用程序的包名、入口Activity和版本信息。^_^

2015-01-21

消息通知栏demo

以下为程序启动流程: 1.开机启动AlarmService 2.AlarmActivity一秒后发送一条系统广播 3.AlarmService接受该系统广播 4.请在系统状态栏查看接收到的消息 5.单击消息,取消通知栏信息 6.但程序关闭时,单击消息,重启程序 小知识:BroadCast、Service、Notification,初学者适用

2014-12-22

世界时区转换的demo

项目中出现app在非洲国家使用时,发生时间显示错,后来一问才知道,外国人使用的时间数据是由公司服务器按北京时间发送的,故接收时进行时间的时区校准

2014-11-29

Activity传递对象的3种方法(全)

使用3种方法完成一个对象的传递 demo种的对象包含如下类型int、String、boolean、数组、ArrayList、UUID、float类型,代码简单易懂,方便理解

2014-11-28

AIDL通信(含2个客户端1个服务端)

代码简洁,重点突出多进程或多app调用AIDL服务完成通信,内容如下: 1.AIDL服务端 支持多客户端调用AIDL服务端,并广播发送数据给客户端 2.AIDL客户端 示例中的2个客户端都同时绑定AIDL客户端 发送数据,并显示AIDL服务端传递的数据 注:方便初学者了解AIDL通信,简单易懂

2015-01-15

高德地图轨迹回放(支持GPS纠错处理)

地图轨迹回放包含下面功能 1.轨迹回放播放 2.轨迹回放暂停 3.轨迹回放速度增大 4.轨迹回放速度减小 5.轨迹回放中文地址显示 6.支持进度条控制轨迹回放 7.支持对GPS原始数据的纠错处理 注:使用时替换相应地图key即可,提供Json模拟数据,保证运行

2014-12-17

录音和声音(含话筒)

1.AudioRecorder进行录音 2.录音过程中话筒会随着音量大小改变图片 3.AudioTrack实现声音播放 su 2014-12-26

2014-12-26

录音和播放(含话筒效果)

1.使用MediaRecorder完成录音功能 2.在录音的过程中,话筒根据音量大小而改变 3.使用MediaPlayer完成播放录音功能(但不支持话筒效果) 4.代码简单适合初学者参考 2014-12-26

2014-12-26

常用输入框正则验证

使用正则运算,完成对输入框内容的验证,包含下面内容验证: 1.用户名 2.密码 3.服务器IP或域名 4.服务器端口 5.邮箱地址 6.固定电话或手机号码 7.车牌号

2014-12-28

Andorid引导欢迎界面(代码简单)

app引导界面,提供软件介绍。代码简单,方便参考和移植到自己的项目中去

2015-01-12

使用AIDL发送数据

程序流程: 1.点击启动服务按钮; 2.不断发送“Hello world AIDL通信测试!”给AidlService 3.发送成功显示:发送的数据(从服务回调数据上来) DOMO目的:运用AIDL发送数据");

2014-12-24

Gjosn(围栏列表)

1.主要使用json对json对象列表数据进行解析 2.解析结果通过listView展示 (界面整洁,漂亮)

2014-12-05

定时器的4种方法

Android定时器的4种方法: 1.采用 Handler 与线程的 sleep(long )方法 2.采用 Handler 的 postDelayed(Runnable, long) 方法 3.采用 Handler 与 timer 及 TimerTask 结合的方法 4.使用CountDownTimer倒计时类"

2014-12-30

上拉刷新(简单易懂)

运行时add library下lib-pull的库工程即可

2015-01-12

数据库SQL基本操作(初学者)

完成数据库操作的基本功能,按顺序如下 1.新建数据库文件(含删db文件) 2.新建数据库表(含删数据库表) 3.添加数据 4.删除数据 5.修改数据 6.查找数据

2015-01-24

二维码扫描

使用zXing的jar包完成二维码条码扫描,优点直接项目移植即可

2014-12-27

软件开发项目实践指导书

本模型描述了WRUP的最佳实践方式 。它本身也是一套有效的部署经过验证的商业化软件的开发方法 。之所以称为“最佳实践”,不仅仅是因为他们具有可以量化的价值,并且被许多成功的机构,成功的项目所运用,并且在Sundy的十年开发生涯中不断积累的结果 。

2015-04-12

丢失api-ms-win-crt-runtime-l1-1-0.dll解决

1. 把api-ms-win-crt-runtime-l1-1-0.dll下载到电脑 2. 直接拷贝该文件到系统目录里:C:\Windows\System32目录下,64位系统为:C:\Windows\SysWOW64 3. 最后在开始菜单中找到“运行(R)” 或者按快捷键“Win+R”,在弹出的框内输入“regsvr32 api-ms-win-crt-runtime-l1-1-0.dll”(不含双引号),回车即可解决错误提示!

2018-01-05

Android Excel 操作实例demo

使用jxl.jar进行Excel格式的文件数据存储,方便进行新增表头属性行和列,但是存储越大存储耗时也拉长

2018-07-30

JobScheduler演示实例(注释)

JobScheduler的Google演示实例DEMO,个人学习笔记用,放了些注释,便于理解。

2017-11-23

mysql的图形化操作工具navicat

免安装版本,解压直接运行,安装包里面有key,输入即可

2018-01-06

ReciteInterviewQuestions_v1.0.3.rar

目的:主要是供个人地铁或公交路上,做一些自己整理的面试题。 例如目前比较感兴趣的java、android、算法、系统、正则表达式相关的面试题。方便地铁利用手机记忆用途

2021-12-27

重复文件RecycleView列表和交互逻辑实现

0. 重复文件的UI和删除交互和逻辑实现 1. 树形无限层级列表-RecyclerView实现 2. 支持递归更新选中状态 3. 支持递归计算文件大小 4. 支持递归删除 https://editor.csdn.net/md?not_checkout=1&articleId=118279169

2021-06-27

AlphabetList.rar

Android字母列表的实际运用:提供根据字母排序列表,方便用户快速找到自己需要的内容.主要功能如下: 1.实现列表按字母进行排序 2.滑动列表同步更新侧边字母栏的选中事件 3.侧边字母栏点击同步更新List的内容显示 4.快速滑动时,视图中间显示字母小框 5.提供搜索输入框进行快速查询

2020-05-17

TreeListViewDemo.rar

1. 树形无限层级列表-RecyclerView实现 2. 支持递归更新选中状态 3. 支持递归计算文件大小 4. 支持递归删除

2021-06-26

最近应用使用情况列表

通过UsageStatsManager获取最近应用使用时长和运行时长

2017-10-25

PyDev4.5 对应Jdk7

下载地址: https://sourceforge.net/user/newsletters/subscribe Eclipse 4.5, Java 8: PyDev 5.2.0 Eclipse 3.8, Java 7: PyDev 4.5.5 Eclipse 3.x, Java 6: PyDev 2.8.2

2018-01-03

GridView的页眉页脚

ListView或GridView的页眉页脚的渐变模糊特效 提升用户体验

2015-08-21

摇一摇(ACC参数展示和位置提示)

显示设备名称,供应商,功率,实时显示x\y\z轴的加速度变化,并提示例如当前手机水平放置,左右翻(适合左右切歌调用)等等,非常实用当达到预设ACC系数时,震动一下。 非常适合平时的调试开发和参考

2015-04-12

装饰者模式Demo

具体描述上传到这里哦 http://blog.csdn.net/su749520/article/details/78586074

2017-11-20

ScheduleAalarmDemoApk.rar

使用TimePicker进行时间选择器,并使用Alarm闹钟的setExact进行精准定时。并使用消息通知显示,防止service优先级下调,导致alarm事件被拦截

2020-06-01

设计模式-命令模式

设计模式-命令模式,这里是《Head Fist 设计模式》一书中的练习

2017-11-22

简单的手势输入画板

一个简单的任意涂鸦的手势画板,代码简单马上懂而已。

2015-04-25

WiFi省电Demo

本WiFi省电Demo作用: 主要使用场合:在屏幕关闭或休眠状态下,根据网络状态,智能关闭WiFi开关,辅助省电的目的

2015-07-29

抽象工厂模式Demo

来自《Head Fist 设计模式》一书的实例,个人学习笔记用途

2017-11-18

实用定时器Alarm机制

1.TimePicker进行时间的选择 2.AlarmManager 进行定时任务的设置 3.广播进行数据的应答

2015-08-01

空空如也

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

TA关注的人

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