`
liu86th
  • 浏览: 117905 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论
文章列表
1.客户端的功能逻辑不难,UI界面也不难,但写UI花的时间是写功能逻辑的两倍.    2.写代码前的思考过程非常重要,即使在简单的功能,也需要在本子上把该功能的运行过程写出来.     3.要有自己的知识库,可以是一个工具类,把写过的,看过的好的代码放进去,也可以是一个笔记本软件.因为只有放在知识库里的东西,才是你最重要的财富.     4.如果你想做自由职业者,你需要学英语,因为在国外的盈利比国内多很多.如果你想进大公司,好公司,你需要学英语.你想深入学习android,但中文的android文章太少了,你查查百度,到处都是copy来copy去的hellword,所以,你需要学英语.如果你想出 ...
private static Boolean isExit = false;       private static Boolean hasTask = false;  
1.不要创建 Java 对象   在性能敏感的代码里, 尽量避免创建 Java 对象,例如:   [1] 测量 onMeasure()   [2] 布局 onLayout()   [3] 绘图 dispatchDraw(), onDraw()   [4] 事件处理  dispatchTouchEvent(), onTouchEvent()   [5] Adapter getView(), bindView()   2.GC, 垃圾回收    [1] 整个程序暂停    [2] 慢(大约几百个毫秒)   3.强行限制 (适用于调试模式)     int ...
1.越简单越好     如果一个窗口包含很多视图   [1] 启动动时间长   [2] 测量时间长   [3] 布局时间长   [4] 绘制时间长     如果视图树深度太深   [1] StackOverflowException   [2] 用户界面反应速度很慢   2.解决的办法     [1] 使用TextView的复合drawables减少层次     [2] 使用ViewStub延迟展开视图   [3] 使用<merge>合并中间视图   [4] 使用RelativeLayout减少层次   [5] 使用自定 ...
主要说明   当屏幕需要更新时, 调用 invalidate()   [1] 简单方便.   [2] 但会更新整个视图,代价太昂贵了.    最好先找到无效区域,然后调用   invalidate(Rect dirty); 或 invalidate(int left, int top, int right, int bottom);   应用实例分析 --- 在屏幕上触摸移动小图标   最简单的编码在每次响应移动事件时调用invalidate   更有效的执行方法是只更新需要更新的区域      
1.选择恰当的图像尺寸    视图背景图像总会填充整个视图区域    [1]  图像尺寸不合适会导致自动缩放.    [2]  避免实时缩放.    [3]  最好预先缩放到视图大小.     originalImage = Bitmap.createScaledBitmap( originalImage, // 被缩放图像 view.getWidth(), // 视图宽度 view.getHeight(), // 视图高度 true); // 双线性过滤器     2.窗口背景   [1 ...
 如何使用Adapter   Adapter是ListView和数据源之间的中间人,有如下的特点:   [1] 当每条数据进入可见区时,Adapter的getView()会被调用,然后返回代表具体数据的视图   [2] 触摸滚动时,频繁调用   [3] 支持成百上千条数据   ...
提供了三种动画效果:逐帧动画(frame-by-frame animation),这种动画和GIF一样,一帧一帧的显示来组成动画效果;布局动画(layout animation),这种动画用来设置layout内的所有UI控件;控件动画(view animation),这种是应用到具体某个view上的动画。   在这三种动画实现中逐帧动画是最简单的,而控件动画是有点复杂的,要涉及到线性代数中的矩阵运算,下面就由易到难逐个介绍,先来看看逐帧动画如何实现。   逐帧动画 逐帧动画是通过OPhone中的android.graphics.drawable.AnimationDrawable类 ...
初始化Animation,从类的名字可以看出是一个变换View的位置的动画,参数起点横坐标,终点横坐标,起点纵坐标,终点纵坐标。   Animation a = new TranslateAnimation(0.0f, targetParent.getWidth() - target.getWidth() - targetParent.getPaddingLeft() - targetParent.getPaddingRight(), 0.0f, 0.0f);  下面是动画的参数设置,我加上了注释   a.setDur ...
  HR是专门负责谈薪资的, 当我们跟HR讨价还价的时候, HR会介绍公司有的福利,而回避公司没有的福利。 作为程序员,我们一定要对跟我们利益息息相关的各种福利细节了如指掌, 各项福利都要跟HR询问清楚,才能比较公司之间的总体福利。 同时还需要掌握些技巧,别让我们的利益会受到损害。 眼下正是年后跳槽的黄金时期,园里的大牛小牛拿了去年的年终奖后,有些肯定想给自己加点工资。园里的大牛小牛都是我们中国软件业的精英,跳槽的时候 肯定手里握着好几个Offer, 不知道选择哪家。先不管工作的内容和前途,就工作本身的待遇,我们还是可以比较的。 HR是专门负责谈薪资的, 当我们跟HR讨价还价的时候, HR会 ...
    因为我们的应用程序能够使用的内存有限,所以在编写代码的时候需要特别注意内存 使用问题。如下是一些常见的内存使用不当的情况。   ⑴查询数据库没有关闭游标  描述:      程序中经常会进行查询数据库的 ...
  在编写Android程序的时候,我们总是难免会碰到OOM(OUT OF MEMORY)的错误,那 么这个错误究竟是怎么来的呢,可以先看一下这篇文章 ANDROID BITMAP 内存限制 OOM,OUT OF MEMORY。    这里,我使用 Gallery 来举例,在模拟器中,不会出现 OOM 错误,但是,一旦把程序运 行到真机里,图片文件一多,必然会出现OOM,我们通过做一些额外的处理来避免。    1.创建一个图片缓存对象HashMap dataCache,integer对应Adapter中的位置position,我 们只用缓存处在显示中的图片,对于之外的位置,如果 ...
基于Android开发应用时,可能会挺时常出现Out Of Memory 异常.  在Android中,一个Process 只能使用16M内存,要是超过了这个限定就会跳出这个异常。这样就要求我们要时刻想着开释资源。Java的回收工作是交给GC的,如何让GC能实时的回收已经不是用的对象,这个里面有许多技巧,各人可以google一下。   因为总内存的施用超过16M而引起OOM的情况,非常简单,我就不继续展开说。值当注意的是Bitmap在不用时,肯定是要recycle,不然OOM是非常容易出现的。   本文想跟各人一起讨论的是另外一种情况:明明还有许多内存,但是发生OOM了。   这类情况时常出现在 ...
  在开发中我们经常需要把我们的应用设置为全屏,这里我所知道的有俩中方法,一中是在代码中设置,另一种方法是在配置文件里改!   一、在代码中设置:     package com.android.tutor; import android.app.Activity; import android.os.Bundle; import android.view.Window; import android.view.WindowManager; public class OpenGl_Lesson1 extends Activity { public void onC ...
  大家好,我们这一节讲的是Android Preferences 的学习,Preferences 在Android当中被用来记录应用,以及用户喜好等等,它可以用来保存 简单的数据类型,如Int,Double,Boolean等。Preferences中保存的数据可以理解为Map型。我们通过PreferenceManager 以及getDefaultSharedPreferences(Context) 来获取它,比如当我们想获得整数我们可以用 getInt(String key, int defVal) .获取里面的某个键值,当我们想修改时候我们用putInt(String key, int ...
Global site tag (gtag.js) - Google Analytics