-
-
快捷键提示插件 -- 试用了一下,就是你点击的时候有些按钮会出来提示框告诉你这个的快捷键是什么以及你使用的次数,还不错,目的就是让你进行键盘流操作。
-
提供 Action 转换大小写什么的,感觉想不起来用。
-
Add Sort Lines action in Edit menu to sort selected lines or whole file if selection is empty.
-
静态代码审查工具
-
也是个代码审查工具,检查可能出现的bug
-
代码风格管理的插件
-
增加了例如卸载,重启App的功能
-
这个玩意挺NB的输入个大概就能帮你写代码。其中的bind view 挺好用的。
-
Dagger的可视化辅助工具
-
可以调试JVM的一些细节,讲真我用的不多
-
-
在 Android Studio 中使用 Live Templateso
newInstance
- 在Fragment中生成newInstance
方法Toast
- 生成Toast.makeText(context, "", Toast.LENGTH_SHORT).show();
fbc
- 生成 findViewByIdconst
- 定义一个 android style int 常量logd
- 生成Log.d(TAG, "");
logm
- Log 当前方法名称和参数logr
- Log 当前方法结果logt
- 当前类生成 log tagpsf
- public static finalsout
- 打印一个字符串到 System.outsoutm
- 打印当前类名和方法到 System.outsoutp
- 打印方法参数和返回值到 System.outvisible
- 设置 view VISIBLEgone
- 设置 view GONEnoInstance
- private 构造方法
Comprehensive list of all Live Templates in Android Studio 这个库有很多的自定义模版
-
Android Studio 的自动完成
Android Studio/IntelliJ 可以帮你自动完成一些代码
<expr>.null
转换成if(<expr> == null)
<expr>.nootnull
转换成if(<expr> != null)
<expr>.var
转换成T name = <expr>
<expr>.field
会自动生成一个全局变量field = <expr>
<ArrayExpr>.for
转换成for(T item : <Arrayexpr>)
<ArrayExpr>.fori
转换成for(int i = 0; i < <Arrayexpr>.length; i++)
<ArrayExpr>.forr
转换成for(int i = <Arrayexpr>.length - 1; i > 0 ; i--)
完整的转换列表参见 Settings → Editor → Postfix Templates
-
使用黑色主题
虽然是个人爱好,反正我觉得使用白色主题好瞎眼啊
-
别使用小字体
给你的 Android Studio 选择一个合适的字体,作者推荐使用Menlo font 反正我觉得mac的字体就挺好的,在linux上开发已经觉得不顺眼了.
-
使用一个 code style
你应该使用一个标准的编码风格,它可以是:
表示在编码风格这一块自己确实有待规范^^
-
使用 Memory/Network/CPU Monitor 检测你的 code/app
-
这个可以看下,文章提到的我是早就配置过了
模拟器
- Genymotion 曾经我最喜欢的模拟器,貌似收费了,现在x86的模拟器也挺快的了。
- Intel Emulator bundled in SDK Manger
简单说就是显示你连上的真机,也就在你做演示的时候有些用处,而且我一连上手机就自己跳出来,各位自己使用评价吧!
不但能展示还可以控制你的Android设备.免费版本 可以使用电脑鼠标, 收费版本 可以使用电脑键盘. 你可以手不离开键盘进行测试.
-
编码时候的更优选择
-
使用 OkHttp 替代 HttpUrlConnect
HttpUrlConnect 有一些bug quite some bugs. Okhttp 优雅的解决了他们. [Reference Link]
-
按照如下方式使用本地
aar
[Stackoverflow Ref]dependencies { compile(name:'nameOfYourAARFileWithoutExtension', ext:'aar') } repositories{ flatDir{ dirs 'libs' } }
-
使用 Pidcat 获得更好的阅读体验
这个不错,不过我没找到一个命令参数表,就只关注我想要关注的 log
-
使用版本控制系统(VCS) 例如 Git
-
使用 ClassyShark
可以分析Android Apk很不错
-
使用 Stetho
Facebook 出品,非常不错的工具,可以在 Chrome 中看到网络请求,调试数据库和SharePreference,和 Okhttp搭配使用更好,我配合urlconnection使用不生效,原因不明。
-
使用"bugreport"分析耗电
-
总是使用固定的版本号 例如 "24.2.0"
版本依赖时候避免使用
+
- 防止api变更.
- 编译的时候不会请求网络检查版本.
-
这篇文章可以看一下,作者说在一些设备上 Timer 不工作但是原因不明,作者说的使用 Handler 替代 Timer 确实是对的,我们商店有一段时间anr很多,后来发现和Timer相关。
-
使用 Vectors 替代 PNG
如果你 确实 要用png, 可以使用 TinyPNG 压缩.
-
使用 proguard
android { ... buildTypes { release { minifyEnabled true proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } }
-
使用 shrinkResources
android { ... buildTypes { release { shrinkResources true minifyEnabled true ... } } }
shrinkResources 是把你没用到的文件用一个很小的文件替换,我觉得要是你发现了那个文件确实没啥用,你还是删除了吧。
-
模拟 app 在后台被杀死, 在终端运行
adb shell am kill
-
Gradle memory >= Dex memory + 1Gb
-
使用 ndk 的时候注意自己分割 abi
defaultConfig { ... ndk { abiFilters "armeabi", "armeabi-v7a", "mips", "x86" } } //Split into platform dependent APK splits { abi { enable true reset() include 'armeabi', 'armeabi-v7a', 'mips', 'x86' //select ABIs to build APKs for universalApk false //generate an additional APK that contains all the ABIs } } // map for the version code project.ext.versionCodes = ['armeabi': 1, 'armeabi-v7a': 2, 'mips': 5, 'x86': 8] // Rename with proper versioning android.applicationVariants.all { variant -> // assign different version code for each output variant.outputs.each { output -> output.versionCodeOverride = project.ext.versionCodes.get(output.getFilter(com.android.build.OutputFile.ABI), 0) * 1000000 + android.defaultConfig.versionCode } }
-
学习一些架构例如 MVP 或者 Clean架构
-
尝试理解 TDD (测试驱动开发)
-
强制重新下载 dependencies
./gradlew --refresh-dependencies
-
gradle 中跳过某个task
下面的例子是跳过
javaDoc
这个任务./gradlew clean build -x javaDoc
-
为每个子项目的脚本配置同名 gradle 构建文件
settings.gradle 中设置
rootProject.children.each{ it.buildFileName = it.name + '.gradle' }
-
记住 DRY
DRY = Do not Repeat Yourself
-
一开始我们也是按照层去分包的,很坑爹。按照功能分可能你不是很好区分在哪个功能中,不过也比你按照层区分要好找很多。
-
有利于你学习解决一些依赖冲突. 官方参考
-
给你没发布的版本使用不同包名
android { buildTypes { debug { applicationIdSuffix '.debug' versionNameSuffix '-DEBUG' } release { // ... } } }
-
build.gradle 中使用自定义任务
Android使用Gradle构建,这实际上可以很容易做些自动化的东西。实用的 Gradle 脚本
-
给你的Android项目使用合适的 .gitignore, Check it here
-
使用 Android Studio 2.3 加速 gradle 构建+
-
切换到 gradle 3.3
执行下面的代码升级你的 gradle wrapper
./gradlew wrapper --gradle-version 3.3 --distribution-type all
-
全局
gradle.properties
如下设置android.enableBuildCache=true
这个命令我测试了,不好使啊!直接改wrapper里面引用就行。
-
-
停止 gradle 构建进程
转载自:https://blog.csdn.net/u013749540/article/details/62222587