关闭

安卓开发项目搭建项目的时候要思考的一些问题

373人阅读 评论(0) 收藏 举报
分类:
1,应该考虑内存泄露的问题 http://www.liaohuqiu.net/cn/posts/leak-canary-read-me/
2.图片加载 


imageloader  https://github.com/nostra13/Android-Universal-Image-Loader 
1、多线程的图像加载(线程池的大小,HTTP选项纱、线程控件等);
2、能够很好的监听加载过程;
3、图片显示配置接口(动画,圆角可扩展);
4、内存和磁盘高速缓存;
5、扩展性强,研发人员只需要根据需求实现它提供的各种接口即可;


Picasso 
一行代码实现加载图片 建议轻量级应用的使用

Fresco
只有一点对内存控制非常好   降低了oom的可能性   

3.网络请求  
1---aSyncHttp   https://github.com/loopj/android-async-http  文档介绍:http://loopj.com/android-async-http/ 
可能是最能令人钟爱的网络请求框架,详细的使用文档,超简单的使用方式,但是对https协议支持不是很好
2---HttpRequesthttps://github.com/kevinsawicki/http-request
相对asynchttp来说httprequest是一种更简单的方式没有之一,一个请求可以包含在一句代码中   对于小项目来说是一个幸福的选择
3---okHttp    https://github.com/square/okhttp   
相比于loopj和HttpRequest,okhttp要更为强大,但是使用方式稍显复杂,但是有个好处是可以同chrome的开发工具来查看手机的网络访问情况
4---volley  https://github.com/smanikandan14/Volley-demo
①网络请求排序②网络请求优先级处理③缓存④多级别取消请求⑤和activity的生命周的联动(Activity结束时同时取消所有的网络请求)
5---Afinal  https://github.com/yangfuhai/afinal
(1)数据库模块:android中的orm框架,使用了线程池对sqlite进行操作
(2)注解模块:android中的ioc框架,完全注解方式就可以进行UI绑定和事件绑定。无需findViewById和setClickListener等
(3)网络模块:通过httpclient进行封装http数据请求,支持ajax方式加载,支持下载、上传文件功能
(4)图片缓存模块:通过FinalBitmap,imageview加载bitmap的时候无需考虑bitmap加载过程中出现的oom和android容器快速滑动时候出现的图片错位等现象
6---Xutils  https://github.com/wyouflf/xUtils
XUtils是目前git上比较活跃 功能比较完善的一个框架,是基于afinal开发的,比afinal稳定性提高了不少.
(1) 数据库模块:android中的orm框架,一行代码就可以进行增删改查;
            支持事务,默认关闭;
            可通过注解自定义表名,列名,外键,唯一性约束,NOT NULL约束,CHECK约束等(需要混淆的时候请注解表名和列名);
            支持绑定外键,保存实体时外键关联实体自动保存或更新;
            自动加载外键关联实体,支持延时加载;
            支持链式表达查询,更直观的查询语义,参考下面的介绍或sample中的例子。          
(2) 注解模块:android中的ioc框架,完全注解方式就可以进行UI,资源和事件绑定;
            新的事件绑定方式,使用混淆工具混淆后仍可正常工作;
            目前支持常用的20种事件绑定,参见ViewCommonEventListener类和包com.lidroid.xutils.view.annotation.event。
(3) 网络模块:支持同步,异步方式的请求;
            支持大文件上传,上传大文件不会oom;
            支持GET,POST,PUT,MOVE,COPY,DELETE,HEAD,OPTIONS,TRACE,CONNECT请求;
            下载支持301/302重定向,支持设置是否根据Content-Disposition重命名下载的文件;
            返回文本内容的请求(默认只启用了GET请求)支持缓存,可设置默认过期时间和针对当前请求的过期时间。            
(4) 图片缓存模块:加载bitmap的时候无需考虑bitmap加载过程中出现的oom和android容器快速滑动时候出现的图片错位等现象;
            支持加载网络图片和本地图片;
            内存管理使用lru算法,更好的管理bitmap内存;
            可配置线程加载线程数量,缓存大小,缓存路径,加载显示动画等...
7---ThinkAndroidhttps://github.com/white-cat/ThinkAndroid
(1)  MVC模块:实现视图与模型的分离。
(2)  ioc模块:android中的ioc模块,完全注解方式就可以进行UI绑定、res中的资源的读取、以及对象的初始化。 
(3)  数据库模块:android中的orm框架,使用了线程池对sqlite进行操作。  
(4)  http模块:通过httpclient进行封装http数据请求,支持异步及同步方式加载。
(5)  缓存模块:通过简单的配置及设计可以很好的实现缓存,对缓存可以随意的配置
(6)  图片缓存模块:imageview加载图片的时候无需考虑图片加载过程中出现的oom和android容器快速滑动时候出现的图片错位等现象。
(7)  配置器模块:可以对简易的实现配对配置的操作,目前配置文件可以支持Preference、Properties对配置进行存取。
(8)  日志打印模块:可以较快的轻易的是实现日志打印,支持日志打印的扩展,目前支持对sdcard写入本地打印、以及控制台打印
(9)  下载器模块:可以简单的实现多线程下载、后台下载、断点续传、对下载进行控制、如开始、暂停、删除等等。
(10) 网络状态检测模块:当网络状态改变时,对其进行检测
8---LoonAndroidhttps://github.com/gdpancheng/LoonAndroid
(1)  自动注入框架(只需要继承框架内的application既可)
(2)  图片加载框架(多重缓存,自动回收,最大限度保证内存的安全性)
(3)  网络请求模块(继承了基本上现在所有的http请求)
(4)  eventbus(集成一个开源的框架)
(5)  验证框架(集成开源框架)
(6)  json解析(支持解析成集合或者对象)
(7)  数据库(不知道是哪位写的 忘记了)
(8)  多线程断点下载(自动判断是否支持多线程,判断是否是重定向)
(9)  自动更新模块
(10) 一系列工具类

4.json 
gson Gson是目前功能最全的Json解析神器
fastJson  fastjson是高性能额解析工具能直接跑在jdk上,但是在解析复杂类型的bean上会出现一些问题
jackson jackson所依赖的jar包较少,简单易用并且性能也要相对高些,同时和fastjson一样对复杂的数据解析有些问题
在项目选型的时候可以使用Google的Gson和阿里巴巴的FastJson两种并行使用,如果只是功能要求,没有性能要求,可以使用google的Gson,
5.统计使用umeng统计
6.地图集成baidu 或者高德地图   包括定位服务
7.推送 jpush umeng xiaomi baidu ....
8.应用更新 umeng更新 或者自己检测更新
0
0
查看评论

安卓开发项目搭建项目的时候要思考的一些问题

1,应该考虑内存泄露的问题 http://www.liaohuqiu.net/cn/posts/leak-canary-read-me/ 2.图片加载  imageloader  https://github.com/nostra13/Android-Universa...
  • qq_20106997
  • qq_20106997
  • 2015-09-21 16:21
  • 321

对项目的一点思考

现在依然有很多公司做项目就是单纯为了做而做,所注重的也仅仅是项目完成后所能得到的项目资金,通过尽量的降低开发人员的薪金,提高开发人员的工作时间,同时依靠着尽可能多的项目量来赚取丰厚的利润。我想,这样的公司迟早是要被淘汰的,根本没有生活下去的可能,哪怕是再大的企业都会栽跟头的。  ...
  • itjingtao
  • itjingtao
  • 2015-01-07 16:02
  • 197

初学如何构建一个小型项目的流程与心得

这篇博客我来说说我的看法,对于怎样合理的
  • u013132035
  • u013132035
  • 2016-12-02 23:41
  • 438

关于项目管理的思考

项目管理是个很大的课题所有的事物都有其规律项目管理的规律是什么?前几天看到一个理论让我眼睛一亮,陈述如下,希望对大家有点启发PDCA循环是由美国统计学家戴明博士提出来的,它反映了质量管理活动的规律。P(Plan)表示计划;D(Do)表示执行;C(Check)表示检查;A(Action)表示处理。PD...
  • wwwxuhong
  • wwwxuhong
  • 2004-12-20 13:50
  • 3278

Vue.js系列之项目搭建(1)

今天要讲讲Vue2.0了。最近将公司App3.0用vue2.0构建了一个web版,因为是第一次使用vue,而且一开始使用的时候2.0出来一个月不到,很多坑都是自己去踩的,现在项目要上线了,所以记录一些过程。 (这是首页目前的效果图) 项目搭建具体步骤如下:1.安装node 到官网下载安装,我...
  • u013778905
  • u013778905
  • 2016-12-24 17:26
  • 6172

重构项目的思考

项目情况 该项目是统一SDK接入框架,游戏商接入该框架,即可打包各大渠道 游戏层->抽象层->渠道层,该框架处于抽象层,用到较多接口回调,并且没有视图层 之前使用痛点 类名没有言简意赅,包结构混乱,造成上手、混淆难度提升 抽象层没有视图层,游戏接入后,没法测试,需要提供母包,打包后才能测...
  • qq_25868207
  • qq_25868207
  • 2017-02-15 11:26
  • 155

PowerDesigner介绍及在项目中的应用

最近几年做了 PowerDesigner用途不局限于数据建模   还可以用PowerDweigner设计web service 并不是每个设计都需要用到PD   用Powerdesigner对付比较大型的项目,是很好的,对于短平快类型的项目,如果时间要求你1个星期...
  • houzuoxin
  • houzuoxin
  • 2014-09-02 22:41
  • 1295

github 将本地项目提交到仓库中(二)

这篇是建立在上篇github基本命令的基础上 1、把本地文件拖到git项目文件夹里面(后面讲怎么过滤掉相关文件) 从本地随便拖若干个资源到git项目上,然后将git bash切换到git项目的目录  ls 查看git项目有哪些资源 git add *  将所有资源都提交上去(这一...
  • zjws23786
  • zjws23786
  • 2017-05-04 11:44
  • 282

关于Android Studio运行出现HAX is not working 的解决办法

摘要: 本文解决了Android Studio 1.2.2下运行期间出现的HAX is not working and emulator runs in emulation mode问题。
  • NewbieProgrammer
  • NewbieProgrammer
  • 2015-11-25 13:13
  • 756

vue中,启动项目报错。

检查有没有package.json和node_modules文件夹。
  • weixin_39845746
  • weixin_39845746
  • 2018-01-09 15:05
  • 50
    个人资料
    • 访问:58124次
    • 积分:853
    • 等级:
    • 排名:千里之外
    • 原创:17篇
    • 转载:47篇
    • 译文:0篇
    • 评论:2条
    想找我,点这里
    最新评论