话不多说直接上图:(代码是一毛一样)
JD-GUI:
Linux 常用命令
Android 开发工作中常用快捷键
Android 开发常用 adb 命令
adb 命令 | 描述 |
---|---|
adb logcat -v time > log.txt |
打印 log 并保存到文件里 |
adb shell dumpsys activity top |
查看最顶层 Activity 元素 |
adb shell dumpsys activity activities |
查看栈内的信息 参数可选为 sed -En -e '/Stack #/p' -e '/Running activities/,/Run #0/p' |
adb shell dumpsys activity grep -i run |
查看正在运行的 Activity |
adb shell pm clear <package_name> |
清除应用缓存 |
adb shell am set-debug-app -w <package_name> |
设置指定应用为 debug 模式 |
adb shell am start -S -W <package_name>/<package_name>.Activity |
计算 Activity 启动耗时 |
adb shell am start -n yourpackagename/.activityname |
新打开一个 activity |
pidcat com.Qunar -t <tag_name> |
pidcat 查看指定进程的 TAG 的日志 |
adb shell screencap /sdcard/screenshot.png |
截屏 |
adb pull /sdcard/screenshot.png ./ |
拉取文件 |
adb shell rm /sdcard/screenshot.png |
删除文件 |
adb shell am force-stop <PACKAGE> |
强制杀死进程 |
adb shell am kill [options] <PACKAGE> |
杀死进程以及关联后台进程 |
./gradlew assembleDebug –daemon –parallel | 开启 daemon 进程加快编译速度 |
Git 使用之常用快捷键
Git 使用之重写历史记录
Git 是免费开源的分布式版本控制系统,主要工作就是确保永远不会丢失已经提交的记录,但是 Git 的设计初衷也是为了让我们掌控开发的工作流程和规范,如 `[adr]fix: resolve NPE at ...` 方便以后查看历史提交记录。然而开发过程中难免会遇到提交信息错误或不符合规范的情况,下面将直奔主题介绍一下如何修改 git 的提交历史记录。
2016年,成长的一年。
1 | 慌慌张张 匆匆忙忙 |
写在2015年
从2013年毕业到现在,发生在我身上的事情历历在目,认识了很多人,接触了很多事,纵然发现世界之大,各行各业中,每个人都有自己的梦想,并且为了自己的梦想付之行动(当然也包括我,233)。
我说这段开头可能概括的比较多,也许你会说,你还没有什么丰功伟业,没有资格对整个世界或社会品头论足。但是我的这些想法和见地,能对我自己和与我有共识的人得到一下感悟就知足了,希望得到共勉。
我是90年生人,属于90后的第一批。“90后”被大家定位一个标签,代表了有个人想法、特立独行的一代人,很多前辈们给予厚望,因此90后的标签挂在我身上,我觉得我很骄傲,很自豪。但不知从何开始,又划分出个95后~ 顿时感觉自己已经老了。看着娱乐圈出道的年轻人,大学生时期便成为明星,高中生、初中生甚至小学生都已经成为社会上的热门话题。是的,他们已经开始赚钱,而且薪酬不比成年人低。为此我们这些“老人”该如何应对?我的答案就是:走好自己的路,虚心学习,让自己更强!
如何正确地写出单例模式
静态内部类 static nested class
我比较倾向于使用静态内部类的方法,这种方法也是《Effective Java》上所推荐的。也是不用考虑双判断的,但是牺牲了空间。很多时候,大多数人不会想到这种方法。
1 | public class Singleton { |
使用Vector标签绘制图片
下面介绍一下 Android 5.0 官方推出了一个全新的标签 vector
–> 官网地址
创建矢量图片
在 Android 5.0(API 级别 21)及更高版本中,您可定义矢量图片,而且图片可在不丢失定义的情况下缩放。您只需一个资产文件即可创建一个矢量图像,而位图图像则需要为每个屏幕密度提供一个资产文件。如果要创建一个矢量图像,请您在
下列示例以心形定义一个矢量图像:
1 | <!-- res/drawable/heart.xml --> |
矢量图像在 Android 中以 VectorDrawable 对象表示。如果要了解更多有关 pathData 语法的信息,请参阅 SVG 路径参考文档。如果要了解更多有关为矢量图片属性添加动画的信息,请参阅为矢量图片添加动画
自己动手写一个插件
如何自己写一个 gradle 插件
看谷歌的插件:com.android.application
和 com.android.databinding
:
1 | apply plugin: 'com.android.application' |
他们都是一个 groovy
项目,那么接下来让我们来看看如何自己手动写一个插件:
创建一个普通的 groovy
工程(java 工程也没有关系),创建 src/main/groovy 目录,编写下面的代码:
1 | package com.example.wecar.plugin |