Android开发
wch0620
这个作者很懒,什么都没留下…
展开
-
13、提升Android UI流畅度的建议
在一个Android应用程序中,UI是与用户直接面对面交互的,UI的流畅度,直接影响了用户体验。一、布局文件的优化1、减少布局的层次很多时候,实现一个界面有很多种方式,我们应该就可能的减少布局的层次,不要一味地嵌套再嵌套。可以通过HierarchyViewer工具来查看布局层次。2、尽量用TextView代替ImageView按钮在布局中是最常见使用的控件,我们可以用Button,ImageButt原创 2015-12-19 14:50:21 · 599 阅读 · 1 评论 -
2、Android四大基本组件
Android四大基本组件是:Activity,Service,ContentProvider,BroadCastReceiver。1、Activity。(1)一个Activity通常就是一个单独的屏幕(窗口)。 (2)Activity之间通过Intent进行通信。 (3)android应用中每一个Activity都必须要在AndroidManifest.xml配置文件中声明,否则系统将不识别也原创 2015-12-17 21:38:11 · 365 阅读 · 0 评论 -
4、快速实现自定义View
通常来说,自定义View有三种表现形式:自绘View,组合控件,继承控件。一、自绘View 自绘View,顾名思义,就是为了实现一个效果,但是Google没有提供现成的控件,这个时候,我们可以通过自绘View绘制出想要的View。 1、定义控件属性我们需要在Values文件夹下新建attrs.xml文件,用来定义控件的属性。 <?xml version="1.0" encoding="UT原创 2015-12-17 22:04:49 · 303 阅读 · 0 评论 -
5、Sqlite数据库升级
一、背景在Android应用中,UI,网络,数据库是最重要的模块。数据库的设计也十分重要,扩展性,易用性都要考虑。随着应用的升级,原有的数据库不能满足新的需求,增加字段,增加表的情况经常出现。二、两个方法:public void onCreate(SQLiteDatabase db) public void onUpgrade(SQLiteDatabase db, int oldVersion, i原创 2015-12-17 22:19:02 · 326 阅读 · 0 评论 -
6、android单例模式下使用观察者模式
定义对象间的一种一个(Subject)对多(Observer)的依赖关系,当一个对象的状态发送改变时,所以依赖于它的对象都得到通知并被自动更新使用方法:1、定义一个接口,用来通知观察者。public interface IObserverAdapter { void update();}2、定义一个类,增加,移除观察者和向观察者们发出通知。public class Subject {原创 2015-12-17 22:24:59 · 292 阅读 · 0 评论 -
7、Android多线程与线程池
一、实现线程的方式有两种:(a)继承Thread类。(b)实现Runable接口。二、多线程的好处。可以把一些耗时的操作,如数据库读写,网络下载与UI线程分开,不阻塞UI线程而导致界面卡顿。三、如何实现多线程。(a)Activity.runOnUiThread(Runnable)(b)View.post(Runnable),View.postDelayed(Runnable, long)(c)Han原创 2015-12-18 21:38:48 · 187 阅读 · 0 评论 -
8、深入理解Looper、Handler、Message
1、Looper。Looper用来给一个线程加一个消息队列(MessageQueue),然后循环从这个消息队列读取Message消息。Looper的主要方法: public static prepare(); public static myLooper(); public static loop(); public void quit(); Looper的使用过程:(a)Looper.prepar原创 2015-12-18 21:56:15 · 327 阅读 · 0 评论 -
9、实现自定义AsyncTask
一、自定义AsyncTask。package com.example.asynctask;import java.util.ArrayDeque; import java.util.concurrent.BlockingQueue; import java.util.concurrent.Callable; import java.util.concurrent.CancellationExcept原创 2015-12-18 22:02:32 · 309 阅读 · 0 评论 -
10、Android内存优化
1、为什么要优化内存?因为内存资源不够用,UI不流畅。2、内存优化的价值?解决OOM 导致UI不流畅。3、优化内存的工具?DDMS: Heap Allocation Tracker MAT: Leak Suspect Top Consumers Debug4、内存测试的节奏编译代码 选定测试场景 测试场景转化为用例 跑起工具Run用例 结合代码,原创 2015-12-18 22:06:24 · 207 阅读 · 0 评论 -
3、GIT实用教程
1、什么是GITGit是分布式版本控制系统,通俗的说就是用来管理代码的。在工作过,经常遇到,在开发一个需求的时候,突然有一个紧急的BUG需要处理。这个时候我们要先放下手头的工作,保存代码,去处理BUG。GIT可以通过建立不同分支,来做不同的事而不干扰,保存修改记录供以后查找。很好用的工具:TortoiseGit(乌龟Git)2、安装GITmsysgit是Windows版的Git,从http://ms原创 2015-12-19 00:02:23 · 515 阅读 · 0 评论 -
11、提升Android性能的建议
1、Activity 泄漏我们第一个需要修复的问题就是Activity 泄漏,我们先来看看内存泄漏是怎么发生的。 Activity 泄漏通常是内存泄漏的一种。为什么会泄漏呢?如果你持有一个未使用的 Activity 的引用,其实也就持有了Activity 的布局,自然也就包含了所有的View。最棘手的是持有静态引用。别忘了,Activity 和 Fragment 都有自己的生命周期。一旦我们持有了静原创 2015-12-18 22:27:27 · 338 阅读 · 0 评论 -
1、Android代码命名规范
好的命名规范可以极大地提高代码的阅读效率。很多时候阅读或者修改别人的代码,在某个类中查找一个方法,可以使用Ctrl+O根据方法名,快速查找。规范:一、包的命名: 通常使用反域名。 例如:com.android.mms二、类的命名:单词首字母大写。 类的命名最好是用相关的英语单词,让人一眼就能看懂这个类的用途。 例如:TestPage三、方法的命名:单词首字母小写,字母开头大写。 例如:dr原创 2015-12-17 21:27:22 · 403 阅读 · 0 评论