版权声明:本文出自汪磊的博客,转载请务必注明出处. 一.WakeLock概述 wakelock是一种锁的机制,只要有应用拿着这个锁,CPU就无法进入休眠状态,一直处于工作状态.比如,手机屏幕在屏幕关闭的时候,有些应用依然可以唤醒屏幕提示用户消息,这里就是用到了wakelock锁机制,虽然手机屏幕关闭了,但是这些应用依然在运行着.手机耗电的问题,大部分是开发人员没有正确使用这个锁,成为"待机杀手". Android手机有两个处理器,一个叫Application Processor(AP)…
mysql优化二之锁机制 mysql提供了锁机制和MVCC机制来保证并发操作的安全性,这里主要讨论锁机制, MVCC见下篇文章 mysql的锁按照锁粒度可分为行锁与表锁,按照操作类型划分可读锁和写锁 InnoDB存储引擎支持表锁和行锁,默认锁为行锁,MyIsam只支持表锁 锁粒度越高则并发性越好 表锁 一.操作语法 1. show open tables;查看数据库中哪些表加了锁 in-use为0则表示未加锁 2. lock table (table_name) read(write) 3. u…
版权声明:本文出自汪磊的博客,转载请务必注明出处. 一.AlarmManager概述 AlarmManager是安卓系统中一种系统级别的提示服务,可以在我们设定时间或者周期性的执行一个intent,这个intent可以是启动Service服务.发送广播.跳转Activity,看到这里是不是会想这不就是定时器Timer吗,Timer确实是一般定时需求的最便捷实现方式,但是试想一下手机空闲状态下,屏幕会变暗,最后CPU会停止运行,这样可以防止电池电量掉的快.在长时间休眠情况下自定义的Timer.Ha…
版权声明:本文出自汪磊的博客,转载请务必注明出处. 一.JobScheduler概述 JobScheduler是安卓5.0版本推出的API,允许开发者在符合某些条件时创建执行在后台的任务.在Android开发中,会存在这些场景:你需要在稍后的某个时间点或者当满足某个特定的条件时执行一个任务,例如当设备接通电源适配器或者连接到WIFI,此时就可以使用JobScheduler了,当一系列预置的条件被满足时,JobScheduler API为你的应用执行一个操作.与AlarmManager不同的是这个…
当一个系统访问量上来的时候,不只是数据库性能瓶颈问题了,数据库数据安全也会浮现,这时候合理使用数据库锁机制就显得异常重要了. 原文:http://www.jianshu.com/p/163c96983ca9 (一)MySQL优化笔记(一)--库与表基本操作以及数据增删改 (二)MySQL优化笔记(二)--查找优化(1)(非索引设计) (三)MySQL优化笔记(二)--查找优化(2)(外连接.多表联合查询以及查询注意点) (四)MySQL优化笔记(三)--索引的使用.原理和设计优化 (五)MySQ…
一.锁概述和分类 二.表锁 偏向MyISAM存储引擎,开销小,加锁快:无死锁:锁定粒度大,发生锁冲突的概率最高,并发度最低. [手动增加表锁] lock table 表名字1 read(write),表名字2 read(write),其它; [查看表上加过的锁] show open tables; [释放表锁] unlock tables; 演示: mysql> select * from mylock; +----+------+ | id | name | +----+------+ | 1…
电量消耗的计算与统计是一件麻烦而且矛盾的事情,记录电量消耗本身也是一个费电量的事情,随着Android开的性能要求越来越高,电量的优化,也显得格外重要,一个耗电的应用,用户肯定会毫不犹豫的进行卸载,所以本篇博客,我们一起来学习Android性能优化之电量优化. 耗电是如何产生的? 耗电情况,例如:打开屏幕,所有要使用CPU/GPU工作的动作都会唤醒屏幕,都会消耗电量.这和应用程序唤醒设备还不一样. (1)唤醒屏幕 当用户电量屏幕的时候,意味着系统的各组件要开始进行工作,界面也需要开始执行渲染.…
前言 电量优化,这个名词在传统PC时代,我们基本很少听见.然而到了诺基亚时代,我们也同样很少关注.直到了移动互联的智能机时代.电量优化才被慢慢的重视起来.可能的原因如下: 移动设备,不能一直使用电源供电,且电池容量有限 对于用户来说, 实际上App的电量损耗也是用户体验的一个方面. 特别是当今人们对移动设备的依赖度越来越高 曾经我们一个BOSS发现使用APP,挂在后台.然后手机插着充电,然后睡了个觉.起床发现电量只充满了70-80%,然后... ... 最后发现是一个重要原因由于内测版本的长连接…
MySQL通过BINLOG记录执行成功的INSERT,UPDATE,DELETE等DML语句.并由此实现数据库的恢复(point-in-time)和复制(其原理与恢复类似,通过复制和执行二进制日志使一台远程的MySQLl数据库,多称为slave,进行实时同步).MySQL 5.5.x以后的版本支持3种日志格式.通过binlog_format参数设置.该参数影响了记录二进制日志的格式,十分重要. 1.STATEMENT格式和之前的MySQL版本一样,二进制日志文件记录的是日志的逻辑SQL语句. 2…
锁是网络数据库中的一个非常重要的概念,它主要用于多用户环境下保证数据库完整性和一致性.各种大型数据库所采用的锁的基本理论是一致的,但在具体实现上各有差别.目前,大多数数据库管理系统都或多或少具有自我调节.自我管理的功能,因此很多用户实际上不清楚锁的理论和所用数据库中锁的具体实现.          Microsoft SQL Server(以下简称SQL Server)作为一种中小型数据库管理系统,已经得到了广泛的应用,该系统更强调由系统来管理锁.在用户有SQL请求时,系统分析请求,自动在满足锁…