自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 收藏
  • 关注

原创 Android项目架构

一、MVC设计模式 二、MVP设计模式 三、MVVM设计模式 <——————–未完待续———————–>

2017-08-27 11:22:44 257

原创 各种各样的IPC方式

一、Bundle 优点:简单易用 缺点:只能传输Bundle支持的数据类型 适用场景:四大组件间的进程间通信二、文件共享 优点:简单易用 缺点:不适合高并发场景、并且无法做到进程间的即时通信 适用场景:无并发访问情形,交换简单的数据实时性不高的场景三、AIDL 优点:功能强大,支持一对多并发通信,支持实时通信 缺点:适用稍复杂,需要处理好线程同步 适用场景:一对多通信且有RPC需求

2017-08-06 13:43:10 345

原创 Android中的内存泄漏情况分析

内存泄漏(memory leak)是指由于疏忽或错误造成程序未能释放已经不再使用的内存。那么在Android中,当有一个对象持有Activity的引用,如果该对象不能被系统回收,那么当这个Activity不再使用时,这个Activity也不会被系统回收,那这么以来便出现了内存泄漏的情况。在应用中内出现一两次的内存泄漏或许不会出现什么影响,但是在应用长时间使用以后,若是存在大量的Activity无法被

2017-07-14 11:35:36 180

原创 git-osc-android客户端之源码分析3

一、侧滑菜单栏 工作流程图: 当菜单栏显示时,点击左上角图标,隐藏菜单栏;菜单栏隐藏时,显示菜单栏。 当点击菜单栏的某一条目后,跳转到对应的界面。 1、点击登录后,进入登录界面; 2、发现,进入发现界面; 3、我的,进入我的界面; 4、语言,进入我的语言界面; 5、摇一摇,进入摇一摇界面; 6、设置,进入设置界面; 7、反馈,进入反馈界面; 界面之间的跳转则是封装在了UIH

2017-05-28 15:36:03 368

原创 git-osc-android客户端之源码分析2

一、登录界面的布局 在AndroidManifest文件中LoginActivity的配置如下: 需要配置: 1、android:screenOrientation=”portrait”这是为了让登录界面始终保持为竖屏方向。 2、android:windowSoftInputMode=”adjustUnspecified”这是设置的输入法的一个属性,特点:”adjustUnspecifi

2017-05-25 22:20:47 491

原创 git-osc-android客户端之源码分析1

一、项目的整体介绍 1、1 项目的目录结构 项目中一共包括有12个包: 1、net.oschina.gitapp:存放了项目中的一些框架类,AppConfig、AppContext、AppManager、WelcomePage等基础类。 2、net.oschina.gitapp.adapter:存放了项目中ListView的数据适配器。 3、net.oschina.gitapp.api:存

2017-05-22 21:45:59 484

原创 Android中Binder的理解

1、什么是Binder? 直观来说,Binder是Android中的一个类,它实现了IBinder接口。从IPC角度来说,Binder是Android中的 一种跨进程通信方式,Binder还可以理解为一种虚拟的物理设备,它的设备驱动是/dev/binder,该通信方式在Linux中没有;从Android Framework角度来说,Binder是ServiceManager连接各种Mana

2017-05-13 17:30:27 334

原创 开源中国android客户端源码分析-学习笔记2

一、MainActivity详解 其中涉及的知识点 1、注解ButterKnife的使用 用 @bind 给字段注释并且ButterKnife会根据给定的View ID去查找并自动转换为与你的Layout中相匹配的View。class ExampleActivity extends Activity { @Bind(R.id.title) TextView t

2017-05-03 21:24:18 358

原创 开源中国android客户端源码分析-学习笔记1

一、启动时的spalsh界面 在应用启动的时候,出现一个启动的欢迎界面,在这个界面中完成的任务: 1、Log日志的上传 2、跳转到主界面 3、动画——在动画结束时执行上述两项操作二、涉及到的java类文件 1、AppStart.java——整个应用的入口 2、LogUploadService.java——在AppStart开启,完成上一次记录在本地的日志的上传 3、MainActivi

2017-05-02 14:46:50 1114

原创 Android中Handler的理解

Handler简介 Handler属于Android消息机制中的重要组成部分,Handler的使用过程很简单,通过它可以轻松地将一个任务切换到Handler所在的线程中去执行。很多人认为Handler的作用是更新UI,这的确没错,但是更新UI仅仅是Handler的一个特殊的使用场景。从本质上来说,Handler并不是专门用于更新UI的,它只是常被开发者用来更新UI。 Handle

2017-05-01 21:53:09 337

原创 Synchronized关键字用法

java线程同步中的重要概念——Synchronized 它有如下4种用法 1、修饰一个代码块,被修饰的代码块被称为同步代码块,作用的对象是调用这个代码块的对象 2、修饰一个方法,被修饰的方法被称为同步方法,作用的对象是调用这个方法的对象 3、修饰一个静态方法,作用的对象是这个类的所有对象 4、修饰一个类,作用的对象是这个类的所有对象1、修饰代码块 一个线程访问一个对象中的synchr

2017-04-14 18:28:07 199

原创 二叉查找树和二叉堆的分析小结

一、二叉排序树 定义:树中的每个节点,它的左子树中的所有项的值小于X中的项,而它的右子树中所有项的值大于X中的项。 二叉查找树中最困难的操作是remove(删除),分为以下几种情况: 1)如果节点是一片树叶,那么它可以被立即删除; 2)如果节点有一个儿子,则该节点可以在其父节点调整自己的链以绕过该节点后被删除; 3)复杂的情况是处理具有两个儿子的节点。一般的删除策略是用其右子树的最小的数据

2017-04-13 22:23:19 898

原创 排序小结(java实现 )

java中的排序总结 1、冒泡排序(有m个数,就要进行m-1趟比较;在第j趟要进行m-j次两两比较)static void bubbleSort(int[] array){ int temp; int flag=0;//设置标志,如果第一次循环比较时没有发生交换,则说明数组是升序排序,不用排序,提前结束循环 for(int i=0;i<array.

2017-04-13 17:04:37 241

转载 java变量的初始化顺序小结

本文转自:http://www.jb51.net/article/37885.htm,并作了增减。 1、无继承 对于静态变量、静态初始化块、变量、初始化块、构造器,它们的初始化顺序是: (静态变量、静态初始化块)>(变量、初始化块)>构造器 public class InitialOrderTest { public static String staticfield=”静态变量

2016-11-01 10:23:24 193

原创 java 中堆、栈、(字符串)常量池

一、存放的内容 堆:存放程序中所有New出来的对象; 栈:存放基本类型的变量、对象的引用、局部变量(形式参数); 常量池:存放基本类型常量和字符串常量; 二、大小和生命期 对于栈和常量池中的对象可以共享。栈中的数据大小和生命周期可以确定,当变量超过了生命周期,那么这个数据就会自动消失。 对于堆中的对象不可以共享,由垃圾回收器负责回收、释放不再持有引

2016-10-18 20:00:43 562

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除