软件研发中,耗费最多时间的并不是编写代码,而是代码编译和代码不断调试的过程 软件试错时间 Android基础编译流程 编译构建的四个步骤:代码编...
![240](https://upload.jianshu.io/collections/images/1935597/3340ca4419b4759fb3cfbcf277a66377.jpg?imageMogr2/auto-orient/strip|imageView2/1/w/240/h/240)
软件研发中,耗费最多时间的并不是编写代码,而是代码编译和代码不断调试的过程 软件试错时间 Android基础编译流程 编译构建的四个步骤:代码编...
gradle本质是一个自动化构建工具, 使用基于groovy的特定领域语言来声明项目设置; 根目录的gradle文件 app module的gr...
一个apk包也可以发布到多个市场,为什么需要多渠道?当哪个渠道需要统计用户多少,用户粘性,需要更加个性化设计时,我们需要在apk中添加渠道信息以...
1. 混淆(proGuard) 有压缩Shrinking, 优化Optimization, 混淆Obfuscation,预校验Preverifi...
权限的目的 权限设立的目的是保护安全 权限机制 系统权限分三种: Android所有者权限,即Android Rom开发权限; Android ...
1. 数据的存储方式 最常用的五种数据存储方式: SharePreferences, File I/O, SQLite, ContentProv...
Android 组件化中使用动态创建的作用是解耦; 1. 反射机制 反射有两个作用:1.反编译:.class->.java;2.通过反射机制访问...
组件间跳转 & ARouter路由 常见的跳转,对于用户来说就是页面跳转,对应Android中就是activity或fragment间的跳转,那...
本地广播LocalBroadcastManager 说到组件间通信第一个肯定想到广播BroadcastReceiver,但是这里要说的是一个更优...
组件化基础 组件化是什么 开发中经常会对项目进行封装,比如一些基础库,功能模块,但迭代久了各业务模块互相调用就形成一团乱麻(高耦合),难以扩展和...