- 博客(46)
- 资源 (9)
- 收藏
- 关注
原创 android app优化培训目录
1.语言级别:代码优化--C、C++,JAVA语言编程的性能优化,设计模式的使用;2.系统级别:UI的优化--布局、背景、adapter、控件、绘制;文件优化--size;图片优化--下载和显示;内存优化--size和对象number网络优化--链接数、gzip资源优化--大小、方式动画优化--加入硬件特性组件优化--”少则优“的原则框架优化--simple is be
2013-02-28 12:36:35 883
原创 android中获取屏幕高宽时的注意事项
我们很容易知道android 获取屏幕高度和宽度 的方法的代码如下: DisplayMetrics metric = new DisplayMetrics(); getWindowManager().getDefaultDisplay().getMetrics(metric); int width = metric.widthPixels; // 屏幕宽度
2013-02-26 10:56:59 2927
原创 ScrollView里面放入多个子控件
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/scroller" android:layout_width="fill_parent" android:layout_height="fill_parent" android:fillVie
2013-02-21 10:04:27 4007
原创 android UI布局优化的常用工具
Hierarchy Viewer;LintStrictModeLayout Opt (老版本的sdk,新版本被Lint 取代)
2013-02-20 15:16:03 1231 1
原创 android UI布局的性能优化小结
在LinearLayout中慎用layout_weight;减少布局的层次;去除不用的布局;去除不用或者是累赘的的父控件;使用compound drawables;使用include,merge,ViewStub 标签;背景的优化;
2013-02-20 15:11:44 1240
原创 python转换为exe--pyinstaller使用
请下载pyinstaller 1.5.1(其它几个版本出现过奇怪的问题);解压之后,进入解压文件目录,执行Configure.py;python Makespec.py -F -w --icon=D:\icon.ico D:\workspace\fdt\src\main.py D:\workspace\fdt\src\down.py D:\workspace\fdt\src\jobs.py
2013-02-20 13:58:41 2746
原创 去除android ImageView “[Accessibility] Missing contentDescription attribute on image” warning
1.在有警告的xml上选择Graphical Layout;2.查看右上角的被涂鸦的地方,然后点击:3.出现:4.点击”Ignore Type“或者是“Disable Issue Type”(不同版本的eclipse);
2013-02-17 09:35:09 1817
原创 android重启应用(应用重新启动自身)
private void restartApplication() { final Intent intent = getPackageManager().getLaunchIntentForPackage(getPackageName()); intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); star
2013-02-15 23:12:20 32749 3
原创 android webservice接口鉴权方案
一般的构造方法这里以eoe网络接口很久前的相关约定为例:接口根地址: API_ROOT = http://ws.eoeandroid.com/api/v1公共测试key: api_key: 3YXNgING8f5Ugiq9J27XjQ api_secret: GNBu298hQemoO4INRkAyS5YDtKaq8ds4KTAue45iyE公共参
2013-02-15 17:32:25 5426
原创 退避算法在android开发中的应用
退避算法在android中的应用很常见,核心目的是为了节省资源和减少电的消耗:1.游戏的心跳包;发送一个心跳包之后,下一个心跳包的时间做退避算法(根据实际情况自己设计算法来实现)处理;2.云推送的心跳包(这里特指用UDP实现,没有用TCP的长连接);同上;3.应用台更新的时候:Application Inactivity Back-off:boolean
2013-02-14 23:41:39 2144
原创 退避算法的定义
退避算法: 退避算法是在在单个信道的基于竞争的介质的一种访问控制(MAC)协议。每当一个以上的节点在同一时刻试图访问介质的时候,它会导致分组碰撞。如果相撞的节点试图再次访问信道,在节点做及时同步的时候数据包将发生碰撞。因此,节点需要时间位差。为了产生这种位差,退避算法(例如二进制指数退避(BEB)) 。例如,在BEB算法中,每当一个节点的传输涉及在与另一个节点的传输发生碰撞,两个节点
2013-02-14 23:29:04 4444
翻译 android开发省电之--Determining and Monitoring the Connectivity Status(根据网络连接状况去省电)
原文详见:http://developer.android.com/training/monitoring-device-state/connectivity-monitoring.html 通常在开发中设置一些计划的任务,比如重复闹钟,后台定时启动的任务等。但是如果我们的网络没有连接上,那么就没有必要启动那些需要连接网络的任务。 我们可以使用ConnectivityManag
2013-02-14 16:13:35 1529
翻译 Loading Views On Demand[按需加载View]
原文详见:http://developer.android.com/training/improving-layouts/loading-ondemand.html有时一些很复杂的视图却又很少用到。如果我们在需要的时候再载入,这样可以减少内存的使用并且给用户带来流畅的体验。Define a ViewStub :ViewStub是一个轻量级的view,没有占有空间,没有花费d
2013-02-14 13:43:39 1689
原创 erlang的语言功能特点
1.1. 高并发1.进程Erlang的最小执行单元是进程,进程的最大特点是隔离性好,(有自己的独立内存空间,Crash不会影响其他工作单元)。Erlang的进程特点2. 协程自己控制执行切换高效。由于不频繁切换系统上下文(页表等),效率比直接使用OS的高。3. 成本极低一个Erlang进程,默认
2013-02-13 18:34:36 2704
原创 菜鸟也能解决android中的OOM问题
只要你记住下面几个原则,在android 中处理图片的OOM问题绝对是easy之极:1.超大图片要按比例压缩之后才做显示,退出当前activity 必须回收 public static Bitmap decodeSampledBitmapFromResource(Resources res, int resId, int reqWidth, int req
2013-02-13 10:43:20 7592 4
原创 关于android framework相关的一些看法之--再封装
看到不少人在创建android工程之后,又在上面做了不少功夫,封装之后再封装。或许是为了实现他们永远无法抛弃的"MVC"模式,又或者是离不开所谓的“内裤(类库)”王子的梦想,抑或是抱着创新搏人眼球。总之,这伙兄弟无所不用奇迹。回过头来,我们试想一下,framework的核心作用什么呢--避免重复制造轮子。假设当初这些套件不是用“JAVA+大量的设计模式”,而是采用C/C++,现在的an
2013-02-13 10:23:54 1721
原创 TCP连接终止协议
建立一个连接需要三次握手,而终止一个连接要经过4次握手。这由T C P的半关闭(h a l f -c l o s e)造成的。既然一个T C P连接是全双工(即数据在两个方向上能同时传递),因此每个方向必须单独地进行关闭。这原则就是当一方完成它的数据发送任务后就能发送一个F I N来终止这个方向连接。当一端收到一个F I N,它必须通知应用层另一端几经终止了那个方向的数据传送。发送F I N通常是
2013-02-12 23:53:54 1781
原创 TCP三次握手
为了建立一条T C P连接:1) 请求端(通常称为客户)发送一个S Y N段指明客户打算连接的服务器的端口,以及初始序号(I S N,在这个例子中为1 4 1 5 5 3 1 5 2 1)。这个S Y N段为报文段1。2) 服务器发回包含服务器的初始序号的S Y N报文段(报文段2)作为应答。同时,将确认序号设置为客户的I S N加1以对客户的S Y N报文段进行确认。一个S Y N将占用
2013-02-12 23:20:53 2292
原创 TCP的头部
首部长度给出首部中32 bit字的数目。需要这个值是因为任选字段的长度是可变的。这个字段占4 bit,因此T C P最多有6 0字节的首部。然而,没有任选字段,正常的长度是2 0字节。在T C P首部中有6个标志比特。它们中的多个可同时被设置为1。U R G 紧急指针( u rgent pointer)有效。A C K 确认序号有效。P S H 接收方应该尽快将这个
2013-02-12 22:47:46 1910
翻译 androidUi优化之--通过include标签来重用布局
通过来重用布局 虽然Android提供了大量的控件来提供小的可重用的交互元素,但你也需要重用更大的元素,急需要一个特定的布局。为了有效重用完整的布局,你可以使用和标签来将另一个布局包含到当前的布局中。重用布局是非常好强大的,它允许你创建复杂的可重用布局。例如,一个yes/no的按钮面板,或是一个有描述文本的进度条。这意味着布局中任意类型的元素都可以被抽取出来单独处理,然后被包含到每
2013-02-12 14:07:56 2032
原创 android编程省电篇--网络更新方式
定期更新的最佳频率将取决于设备的状态,网络连接,用户的行为和明确的用户喜好。优化电池寿命,讨论了如何通过在基于主机设备的状态来修改其刷新频率,打造高效电池的应用程序。包括当你失去连接后禁用后台服务更新以及在电池电量低的时候减少更新的速度。在这里会介绍更新频率是多少才会使得更新操作对无线电状态机的影响最小。利用推送信息来替换电子邮件服务每次app去向server询问检查是否有更新
2013-02-12 13:21:40 3402
原创 IOS风格的日期控件(Time picker)
效果如下:项目地址: http://code.google.com/p/android-wheel/另外可参看android系统自带的Time picker: http://developer.android.com/guide/topics/ui/controls/pickers.html
2013-02-12 12:33:13 4061
翻译 Processing Bitmaps Off the UI Thread [在非UI线程处理Bitmap]
原文详见:http://developer.android.com/training/displaying-bitmaps/process-bitmap.html我们知道了BitmapFactory.decode* 方法,当数据源是网络或者是磁盘时(或者是任何实际源不在内存的),这些方法都不应该在main、UI线程中执行。那些情况下加载数据是不可以预知的,它依赖于许多因素(从网络或者硬
2013-02-12 11:27:24 2506
原创 android中去掉listview某人选中高亮状态
去除选中item时的高亮效果(默认橙黄色)方法:android:listSelector="@android:color/transparent"等同于使用:android:listSelector=”#00000000″
2013-02-11 21:23:29 7576 1
原创 解决android中软件盘弹出导致的控件位置问题
解决软键盘出现后,把原来Activity的布局给顶上去的方法是:在mainfest.xml中,对相应Activity加:android:windowSoftInputMode="adjustPan|stateHidden">
2013-02-11 21:18:36 3543
原创 android中去掉EditText的自动焦点获取
方法:将EditText的父级控设置成:android:focusable="true" android:focusableInTouchMode="true"
2013-02-11 20:56:54 7155
原创 android中aidl接口的作用
1.多个应用程序之间建立共同的服务机制;2.通过AIDL在不同应用程序之间达到数据的共享和数据相互操作;3.一句话,主要是用于多应用之间的数据交互(而 在单个应用内或者说该应用如果不需要和其它第三方应用进行交互则不需要实现aidl接口);
2013-02-11 10:37:17 5649
原创 android中检查action对应的intent是否存在
public boolean isIntentExisting(Context context, String action) { final PackageManager packageManager = context.getPackageManager(); final Intent intent = new Intent(action); List re
2013-02-10 20:42:24 5942 1
原创 android中常见图片处理方法
public class ImageTool { public static final int LEFT = 0; public static final int RIGHT = 1; public static final int TOP = 3; public static final int BOTTOM = 4; /** */ /**
2013-02-10 18:20:27 2811
原创 如何选择android app开发的方式
主流的手机开发方式有:native Appandroid手机系统本地开发语言java、NDK实现,运行速度快、用户交互性特别强,界面也很酷。Web 应用直接通过手机浏览器访问,可通过 HTML5 来访问一些基本的手机功能,开发和维护都非常简单。混合 App这是一种结合前两者的应用架构方式,相当于在 Web 上用一个本地 app 的壳进行封装,其复杂度介于前二者之间,有专门的框
2013-02-10 18:01:38 5195
翻译 androidUI开发之-优化你的布局层次结构
我们可能有一个共同的误区:那就是认为使用基本的Layout结构是最有效的。但是,每一个添加到系统的组件都需要初始化,进行布局,绘制的过程。比如,使用在LinearLayout里面使用子组件会导致一个过于deep的层级结构。而且内嵌使用包含layout_weight属性的LinearLayout会在绘制时花费昂贵的系统资源,因为每一个子组件都需要被测量两次。在使用ListView与GridView的
2013-02-10 09:15:28 2917
原创 我在Tieto的一次介绍
My name is Andy. It is nearly one year since I joined in Tieto. I act as the software engineer. Being a member of Tieto, I tried to adapt myself to the new circumstance and the new culture. As we all
2013-02-08 12:53:27 2209
原创 一些关于分布式技术的资源
技术:1)redis持久化集群解决方案,包括高可用、数据一致性、单点问题的解决方案2) ZooKeeper的深入了解3) JDK7的G1和CMSGC4) rpc调用的成熟解决方案,分布式系统间调用基础(包括协议的选择如ProtocolBuffer/Thrift,通讯框架选择如Netty/Grizzly)资源:1)NoSQL数据库的分布式算法2) 分布式设计与开发
2013-02-05 22:02:16 870
原创 存储整合的常见三种方式
从存储在多个服务器上转变为存储在单个服务器上。此模式可以降低管理工作的复杂l生和对数据中心占地面积的要求;直接将多个异构型服务器附加到一个存储设备上。此模式极大降低了存储成本,同时也可 以简化管 理 ;整合到存储 局域 网上。此模式既有利于提高工作效率,降低管理工作的复杂性,同时还可以提高可扩展性,可用性和数据可访问性。
2013-02-05 21:48:53 613
原创 分布式计算中的缺陷
分布式计算也并不是万能的,其中还存在诸多的缺陷和弊端:兼容性问题目前,几乎所有的分布式计算技术都没有完整的统一的标准,虽然已开始这方面的工作,标准的缺乏使得分布式计算技术研究分散,很难形成稳定的研究方向,从而在很大程度上制约了分布式计算技术的发展。因此,彼此之间的互通、互联的兼容性是一个巨大的问题。领域问题虽然说分布式技术诞生已久,但是推广和应用仍然是在发展的过程当
2013-02-05 21:44:49 1046
原创 常见分布式计算技术
中间件技术中间件作为构建,是分布式系统中介于应用层和网络层的一个功能层次,它能够屏蔽操作系统(或网络协议)的差异,实现分布式异构系统之间的互通或互操作。分布式 应用软件借助这种软件在不同的域之间共享资源。中间件位于客户机服务器的操作系统之上,管理计算资源和网络通信。它扩展了C/S结构,形成了一个包括客 户端、中间件和服务器的多层结构。基于中间件的分布式计算技术以中间件为桥梁,通过把
2013-02-05 19:20:34 4811
翻译 android背景优化
当程序的数据有改变的时候就需要更新屏幕,这个时候我们就采用invalidata方法。这个方法简单方便,而当我们调用这个方法的时候我们整个视 图都发生了更新。而我们的数据一般情况下只是在某一个区域内做出改变,这个时候我们再去更新其他没有数据改变的区域就很浪费资源。这个时候我们考虑如何优 化。解决办法Android提供系统了两个局部更新数据的方法:invalidate(Rect dirty
2013-02-05 12:26:17 1004
button在底部的多个view切换优化之<实例二3D切换>
2011-09-27
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人