Android项目总结
功能:
1.图片载入 ImageLoader 參数配置要合理 cacheMemory 一次性的图片最好不要缓存在内存中 合理控制在内存中的内存大小 ,适当的释放 volley是google官方的
也不错
2.适配器 抽象出一个基类 统一管理
3.ListView 封装添加载入很多其它和下拉刷新
4.数据库 訪问要及时关闭cursor,注意多线程訪问
5.广播 一般我们都喜欢在onCreate注冊。onDestory反注冊。但会有隐藏的bug,比方内存不足时是不走onDestory生命周期的,就可能发生广播leak,官方建议在onPause,onResume注冊。
6.Http框架 AsyncHttpClient github排行非常高的库 不须要自己去写了 须要理解的是HTTP协议,ssl等等。
7.线程的使用 请求网络的 都要统一管理,界面退出时取消线程回调
8.Context 能用的AppLicationContext都用,避免Context泄漏
9.省电 减小对cpu的使用,以及屏幕的唤醒操作 网络请求不要过于频繁 网络请求数据压缩 不要做太复杂的计算(游戏除外)
10.图片压缩 先设置好的尺寸 循环压缩到一定的大小
11.EventBus 减少耦合,性能不错
12.编码风格 写代码不仅是是为了完毕功能,也是书写你自己的外表。
13.内存泄漏 大多数是图片引起的 分析方面使用mat插件
14.设计模式 代码整洁
UI
1.actionbar
2.slidingmenu
3.pulltofreshlistview
4.pagerslidingtabstrip
5.nineoldandroids
6.drawlayer
7.熟悉view视图绘制等
写代码的感觉:
超过两次反复的代码,就要重构
尽可能的抽象出基类 合理使用组合和继承
熟悉主要的排序,查找的算法,集合不要仅仅懂ArrayList,HashMap
提升: 多写 多看优秀的代码 多去思考 不要浪费了你的大脑
经历 做过平板项目,视频类,了解ffmpeg,做过通讯类,xmpp协议类 期间也做一些游戏项目,使用cocos2d-x
Android项目总结的更多相关文章
- Android——eclipse下运行android项目报错 Conversion to Dalvik format failed with error 1解决
在eclipse中导入android项目,项目正常没有任何错误,但是运行时候会报错,(clean什么的都没用了.....)如图: 百度大神大多说是jdk的问题,解决: 右键项目-Properties如 ...
- eclipse — 导入android项目后识别成java项目的问题及解决
最近在eclipse导入android项目的时候遇到了奇葩问题,再此记录 遇到的问题就是:将完好的android项目导入到eclipse的时候,原本这是一个很容易的事情,但是导入成功后发现,,,靠ec ...
- 用Kotlin创建第一个Android项目(KAD 01)
原文标题:Create your first Android project using Kotlin (KAD 01) 作者:Antonio Leiva 时间:Nov 21, 2016 原文链接:h ...
- Android之什么是Activity和常用的ADB命令以及Android项目结构的认识
总结一下之前学习Android的一些内容 一: Android常用的ADB命令(adb android调试桥) 1.adb devices 查看模拟器设备并重新连接. 2.adb ki ...
- eclipse将android项目生成apk并且给apk签名
转载:http://www.cnblogs.com/tianguook/archive/2012/09/27/2705724.html 生成apk最懒惰的方法是:只要你运行过android项目,到工作 ...
- Android开发学习——Android项目的目录结构
Android项目的目录结构: 资源文件夹: 清单配置文件: Android的四大组件在使用前全部需要在清单文件中配置 <?xml version="1.0" encodin ...
- Android项目实战(二十五):Android studio 混淆+打包+验证是否成功
前言: 单挑Android项目,最近即时通讯用到环信,集成sdk的时候 官方有一句 在 ProGuard 文件中加入以下 keep. -keep class com.hyphenate.** {*;} ...
- Android项目实战(二十四):项目包成jar文件,并且将工程中引用的jar一起打入新的jar文件中
前言: 关于.jar文件: 平时我们Android项目开发中经常会用到第三方的.jar文件. 其实.jar文件就是一个类似.zip文件的压缩包,里面包含了一些源代码,注意的是.jar不包含资源文件(r ...
- 初次尝试用Kotlin实现Android项目
Kotlin: The Swift of Android 起这个文内标题的原因很简单,就是对Kotlin抱有希望--能使Android的开发更简洁.高效及安全.知道Kotlin是从简书的一篇短文,越来 ...
- 原生Android App项目调用Untiy导出的Android项目
背景:采用Google VR SDK for Unity 开发3D场景功能,然后导出Android项目,合并到一个Android App里面,供其它Activity调用. 用Google VR for ...
随机推荐
- echarts 图表建立步骤
需要引用的文件 <script src="web/mobile/js/jquery-1.8.3.min.js"></script> <script s ...
- Annotation(注解)代替配置文件
非注解形式,即指在配置文件中配置相关参数,使实体类.参数各方面分离.注解方式,即annotation方式,是jdk提供的一种注入或配置方式.即将实体类与相关参数都在一起,只是通过@annotation ...
- Go语言,互斥锁使用
package main import ( "fmt" "runtime" "sync" ) var ( counter int wg sy ...
- PHP程序员的简单运维
所谓的简单运维就是保证自己开发的程序能正常运行和使用. 当一个程序员需要兼作运维时候需要掌握以下技能 1.linux系统基础命令和Windows Server操作 是基础中的基础,ls, rm, to ...
- beijing2016
4625: [BeiJing2016]水晶 Time Limit: 10 Sec Memory Limit: 256 MBSubmit: 201 Solved: 70[Submit][Status ...
- secureCRT的自动登录设置
具体设置的步骤如下: 1. 打scrt,创建一个新的回话 2. 右击该回话选择属性,定位到左边选项卡的登录动作 3. 第一行:预期是$; 发送是ssh username@machine name 第二 ...
- bisect二分查找模块使用
import bisectL = [1, 3, 3, 6, 8, 12, 15]x = 5x_insert_point = bisect.bisect_left(L, x)# 在L中查找x,x存在时返 ...
- $_ENV 为空的原因
php.ini里面的variables_order的值为GPCS,修改为EGPCS,然后重启wamp即可. print_r($_ENV); var_dump($_ENV); foreach ($_EN ...
- HDU 1532.Drainage Ditches-网络流最大流
Drainage Ditches Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) ...
- apache httpd反向代理配置
apache httpd 2.4.6反向代理的配置,用户访问A server的8080端口,后台会自动请求Bserver的一个端口. 例如,用户访问ip-172-31-28-175的8080端口,后台 ...