true

Android应用启动流程

前言|背景为什么要总结这个 前一段时间面试被年哥问到了和这个问题相关的一个问题(Android中有没有类似于Java中main方法?)当时当然没有答案,就回答不知道。 在看《Android开发艺术探索》的第一章节中从源码分析Android中Activity的生命周期。 《Android开发艺术探索》第一章里怎么讲Activity的启动过程的源码相当复杂,涉及Instrumentation、ActivityThread和ActivityManagerService(AMS)。这里不详细分析这一过程,简单理解,启动Activity的请求会由Instrumentation来处理,然后通过Binder向AMS发请求,AMS内部维护者一个ActivityStack并负责栈内的Activity的状态同步,AMS通过ActivityThread去同步Activity的状态从而完成生命周期方法的调用。 以下内容摘自老罗的Android之旅中的一篇博文 老生常谈 Activity启动在Android系统中,有两种操作会引发Activity的启动,一种用户点击应用程序图标时,Launcher会为我们启动应用程序的主Activity;应用程序的默认Activity启动起来后,它又可以在内部通过调用startActvity接口启动新的Activity,依此类推,每一个Activity都可以在内部启动新的Activity。通过这种连锁反应,按需启动Activity,从而完成应用程序的功能。Activity的启动方式有两种,一种是显式的,一种是隐式的,隐式启动可以使得Activity之间的藕合性更加松散。     继续阅读
MXlwq's avatar
MXlwq 8月 25, 2016
 | 

AndroidStudio六种依赖

Compile,Provided,APK,Test compile,Debug comp...     继续阅读
MXlwq's avatar
MXlwq 8月 20, 2016
 | 

Lombok

下载安装lombok plugin插件 build.gradle文件添加依赖12compile 'org.glassfish:javax.annotation:10.0-b28'compile 'org.projectlombok:lombok:1.16.8' model类使用@Data如图,get、set、equals、hashCode方法以及全部自动生成 使用@Getter @Setter     继续阅读
MXlwq's avatar
MXlwq 8月 20, 2016
 | 

Android多线程安全访问数据库

原地址 假设你已编写了自己的SQLiteOpenHelper1public class DatabaseHelper extends SQLiteOpenHelper { ... } 若想在独立的线程中写数据例如:12345678910111213// Thread 1 Context context = getApplicationContext(); DatabaseHelper helper = new DatabaseHelper(context); SQLiteDatabase database = helper.getWritableDatabase(); database.insert(…); database.close(); // Thread 2 Context context = getApplicationContext(); DatabaseHelper helper = new DatabaseHelper(context); SQLiteDatabase database = helper.getWritableDatabase(); database.insert(…); database.close(); 在logcat中会报如下错误1android.database.sqlite.SQLiteDatabaseLockedException: database is locked (code 5)     继续阅读
MXlwq's avatar
MXlwq 8月 12, 2016
 | 

Json相关总结

Json相关的这里不是Json处理和生成的总结,而是和Json相关的其他的一些小的技巧 插件类ChromeJSONView postmanDHC AndroidStudioGsonFormat SublimeTextPretty JSON     继续阅读
MXlwq's avatar
MXlwq 8月 08, 2016
 | 

自定义View

三种方式继承View来派生自定义组件继承ViewGroup或者其子类来实现组装三个构造函数     继续阅读
MXlwq's avatar
MXlwq 8月 07, 2016
 | 

AndroidStudio高效插件

转载地址 汇总GsonFormat快速将json字符串转换成一个Java Bean,免去我们根据json字符串手写对应Java Bean的过程。 使用方法:快捷键Alt+S也可以使用Alt+Insert选择GsonFormat Android ButterKnife Zelezny配合ButterKnife实现注解,从此不用写findViewById,想着就爽啊。在Activity,Fragment,Adapter中选中布局xml的资源id自动生成butterknife注解。 使用方法:Ctrl+Shift+B选择图上所示选项 Android Code Generator根据布局文件快速生成对应的Activity,Fragment,Adapter,Menu。     继续阅读
MXlwq's avatar
MXlwq 8月 05, 2016
 | 

开源社区应该感谢的五家公司

开源社区应该感谢Square、LinkedIn、Google、Facebook、Twitter带来的贡献 SquareSQUARE美国一家移动支付公司。这家公司是Top5里规模最小的公司,但给开源社区的贡献是卓越的。Square已经将超过60个项目提交到开源社区,贡献了25万行左右的代码。其最火的,或许是Picasso,一个用于Android系统下载和缓存图片的项目,目前已经广泛应用于许多应用中。 GoogleGoogle能够列在开源贡献名单Top5里的原因,是胜在质量和规模。比如Android和Chrome只是单个的开源项目,但围绕它们构建了庞大的生态圈,基于它们所开发的插件和应用数量惊人。     继续阅读
MXlwq's avatar
MXlwq 8月 01, 2016
 |