数据存储在提交sharedpreference 修改的时候,用apply代替commit 避免UI线程阻塞设备兼容系统会自动根据当前屏幕的大小等,在相应的文件夹里去找资源,如large等等可以使用Build中的常量 VERSION.SDK_INT来判断当前的系统版本
分类:
移动开发 时间:
2015-03-30 22:57:31
阅读次数:
151
在编写多线程的工作中,有个常见的问题:主线程(main)启动好几个子线程(task)来完成并发任务,主线程要等待所有的子线程完成之后才继续执行main的其它任务。默认主线程退出时其它子线程不会停,如果想让main退出时其它子线程终止,可以用subThread.setDaemon(true)设置子线程...
分类:
编程语言 时间:
2015-03-15 22:48:02
阅读次数:
178
C#中异步和多线程的区别是什么呢?异步和多线程两者都可以达到避免调用线程阻塞的目的,从而提高软件的可响应性。甚至有些时候我们就认为异步和多线程是等同的概念。但是,异步和多线程还是有一些区别的。而这些区别造成了使用异步和多线程的时机的区别。异步和多线程的区别之异步操作的本质所有的程序最终都会由计算机硬...
分类:
编程语言 时间:
2015-03-15 15:16:42
阅读次数:
154
在Android里,UI线程是不允许被阻塞的,因此我们要将耗时的工作放到子线程中去处理。
那么子线程耗时处理后要怎样通知UI线程呢?我们可以在UI主线程中创建一个handler对象,然后通过重写其handleMessage(Message msg)的方法,该方法会接收到子线程中的handler对象的sendMessage((Message msg)发回来的消息。这样一发一收就完成工作;而关于主线程...
分类:
移动开发 时间:
2015-03-14 21:49:10
阅读次数:
232
队列以一种先进先出的方式管理数据。如果你试图向一个已经满了的阻塞队列中添加一个元素,或是从一个空的阻塞队列中移除一个元素,将导致线程阻塞。 在多线程进行合作时,阻塞队列是很有用的工具。工作者线程可以定期的把中间结果存到阻塞队列中。而其他工作者线程把中间结果取出并在将来修改它们。队列会 自动平衡负载。...
分类:
编程语言 时间:
2015-03-11 14:22:26
阅读次数:
170
http请求是耗时操作,如果把它放到主线程上,会造成UI线程阻塞,android在API8以后不允许开发者将网络耗时操作放到主线程上进行.对于开子线程进行http请求,从服务器返回的数据,需要主线程来处理,并更新UI,子线程不能更新UI,所以这里涉及到子线程和主线程的通信.android提供handler..
分类:
移动开发 时间:
2015-02-27 18:34:27
阅读次数:
138
post方式能解决UI线程阻塞问题,但是代码的可读性较差。
一:看程序
{CSDN:CODE:604343}
二:定义AsyncTask
private class testTask extends AsyncTask {
protected Integer doInBackground(String... arg0) {
try {
Thread.slee...
分类:
移动开发 时间:
2015-02-13 18:40:05
阅读次数:
201
一:看程序
{CSDN:CODE:604229}
二:现象
程序启动,button1会自动向右滑动三次,但是当点击Button2的时候,button1移动会暂停5秒。
三:线程阻塞:
当一个应用程序启动之后,android系统会为这个应用创建一个主线程。这个线程非常重要,它负责渲染视图,分发事件到响应监听器并执行,对界面进行轮询监听。因...
分类:
移动开发 时间:
2015-02-13 16:41:10
阅读次数:
184
一:看程序
{CSDN:CODE:604309}
二:post方法
//线程阻塞优化方案1:post方法
v.post(new Runnable() {
@Override
public void run() {
int sum = 10;
TextView view = (TextView) v;...
分类:
移动开发 时间:
2015-02-13 16:32:55
阅读次数:
188