异步获取多数据经验分享
来源:互联网 发布:织梦cms源码 编辑:程序博客网 时间:2024/04/29 04:13
1.异步获取多数据经验分享
基于以下结构能够实现多数据的异步获取(对时序没有严格的要求)
public class Assist{
private static final int MAX_TASK_NUM = 5;
private ArrayList<Msg> mMsgQueue;
private MyTask[MAX_TASK_NUM] mTaskList;
private Object mLock;
private void pushMsg(Msg msg){
synchronized(mLock){ mMsgQueue .add(msg);}
}
private void popMsg(){
synchronized(mLock){ mMsgQueue .get(0);}
}
private void notifyMsg(...){//通知UI更新}
private class Msg{...}
private MyTask extends Thread{
public void run(){
if(popMsg(!= null)){...; notifyMsg();}
}
}
}
2.基于现有控件的自定义复杂控件开发
几个原则:
1.尽量将自定义的控件继承于常用的布局,如:linearLayout等
2.将定义了包含控件的layout add进来
3.自定义控件中尽量不要将控件的大小写为定值
4.提供尽量合理,简单的接口供主UI线程调用
5.自定义控件实现的功能尽量单一并易于二次扩展
6.尽量保留android原生控件中已有的各个状态转换接口
3.Intent flag 的几个非常有用的参数
FLAG_ACTIVITY_CLEAR_TOP
如果设置,并且这个Activity已经在当前的Task中运行,因此,不再是重新启动一个 这个Activity的实例,而是在这个Activity上方的所有Activity都将关闭
FLAG_ACTIVITY_CLEAR_TASK
如果给Intent对象添加了这个标记,那么在Activity被启动之前,会导致跟这个Activity 关联的任何既存的任务都被清除
FLAG_ACTIVITY_NO_ANIMATION
如果在Intent中设置,并传递给Context.startActivity()的话,这个标志将阻止系统进 入下一个Activity时应用Acitivity迁移动画
FLAG_ACTIVITY_NO_HISTORY
如果设置,新的Activity将不再历史stack中保留。用户一离开它,这个Activity就关 闭了
4.sunTv主要应用问题总结:
1.部分缩略图没有显示成功的问题
原因:由于是从网络实时获取图片,因此存在由于网络原因而下载失败的可能。
解决办法:如果没有下载成功,则尝试重新下载,知道尝试的次 数大于一个合理的最大尝试次数。
2.进入move分类中有可能出现的OutOfMemory问题
原因:解压到图片全不缓存在内存中而没有做及时的清理
解决办法:在需要下载同一分类的其它图片时,需要先释放掉掉 本分类中已经解码的图片数据。同时当应用退出时,也需要释放 掉所有已经解码的图片数据,回收内存。
3.进入到各个分类后,刷新数据非常慢的问题
原因:1.单线程获取分类数据 2.只有在所有分类数据都获取完毕后才允许用户操作
解决办法:1.多线程下载分类数据
2.下载前边几个分类数据完成之后即允许用户操作
4.各个分类中按遥控器上键无法显示分类名称的问题
原因:原生的scrollview在相应向上操作时,先获取下一个可以获得焦点的控件,然后scrollto到该控件的文件使其能够刚好全部显示。而分类名称在该控件的上方,因此无法显示分类的名称来。
解决办法:重写scrollview的arrowScroll接口,在其相应向上案件部分的代码中向上移动的像素减少一个合适的值即可。
5.开机启动进入桌面,第一次按方向键焦点没有落在下边分类选择gallery上的问题
原因:开机后多次调用onresume函数造成改控件的focusable属性改变。从而造成requestfocus失败
解决办法:在requestfocus之前首先判断当前获取处于焦点状态的view,然后判断该view是否为null且是否为该gallery,如果不是,则将gallery的focusable设置成true并让其requestforcus
- 异步获取多数据经验分享
- springboot 获取多数据源
- C++获取CPU信息应用经验分享
- Kinect中多数据源获取和单数据源获取
- 经验分享
- 分享经验
- 经验分享
- 经验分享
- 经验分享
- 分享一个免费获取图片外链的经验
- 项目优化经验分享(三)数据调用同步与异步
- 基于AJAX的异步请求对多数据处理页面的优化
- 基于AJAX的异步请求对多数据处理页面的优化
- 本地事务异步恢复机制实现多数据源最终一致性
- 多数据源之间不使用分布式事务实现异步最终一致性
- android分享支付经验分享
- Spring经验分享
- js压缩工具经验分享
- ios没有StringBuilder,哥心如刀绞,泪如尿崩
- Ubuntu下安装搜狗拼音输入法
- ANDROID 绘制图形(转) 学习
- 几种集合框架的效率问题
- nyoj-最大素因子
- 异步获取多数据经验分享
- JavaScript -- 正则表达式 检验表单提交的内容
- android 里 meta-data 的使用
- javascript 之基本知识
- android 绘制图片
- php扩展hidef
- 机器学习方面的一些大牛小牛
- 35-Adapter,安卓中数据和视图的桥梁,ArrayAdapter
- android inflater 用法