当前位置:  编程技术>移动开发
本页文章导读:
    ▪用以后台执行线程的基类        用于后台执行线程的基类 package com.hk.wos; import android.os.AsyncTask; /** * 方便在activity中获取网络任务 * * @author 包子大叔 * @time 2013-8-15 下午4:16:18 */ public abstract class BaseTaskActivity extends BaseAc.........
    ▪ 关于JQueryMobile的缓存跟预取 转        关于JQueryMobile的缓存和预取 转 关于JQueryMobile的缓存和预取(原创译文)   1. 预取页面      Prefetching pages (总觉得不应该这样翻译,应该叫预加载) 说明:当采用single-page类型时,.........
    ▪ 解决Intellij Idea中Appearance使用默认字体Messages Tab中文字显示方块的有关问题       解决Intellij Idea中Appearance使用默认字体Messages Tab中文字显示方块的问题 Intellij IDEA的UI使用默认字体还是最漂亮的(不是editor,是界面,比用宋体好看多了),但是因为不支持中文所以如果.........

[1]用以后台执行线程的基类
    来源: 互联网  发布时间: 2014-02-18
用于后台执行线程的基类

package com.hk.wos;

import android.os.AsyncTask;

/**
 * 方便在activity中获取网络任务
 * 
 * @author 包子大叔
 * @time 2013-8-15 下午4:16:18
 */
public abstract class BaseTaskActivity extends BaseActivity {
	/**
	 * 后台线程,一般用于获取网络任务
	 */
	protected MyTask myTask;

	/**
	 * 判断默认线程myTask是否正在运行
	 * 
	 * @return
	 */
	protected boolean isTaskWorking() {
		if (myTask != null) {
			return true;
		} else {
			return false;
		}
	}

	/**
	 * 启动线程,一般用于网络数据的获取; 线程主体请实现doInTask()方法, 线程结束后将调用onTaskOver()方法;
	 */
	protected void startTask() {
		if (isTaskWorking()) {
			toast("任务正在执行...");
		} else {
			showDialogLoading(true);
			myTask = new MyTask();
			myTask.execute();
		}
	}

	/**
	 * 线程主体,只能做数据处理,不能处理UI
	 * 
	 * @return 返回网络任务得到的json字符串,本字符串会传入onTaskOver()方法中
	 */
	abstract protected String doInTask();

	/**
	 * 线程完成后触发本方法,可以在这里进行数据处理,UI处理,(不需要关系线程和等待中对话框)
	 * 
	 * @param result
	 *            后台线程主体doInTask()方法返回的字符串
	 */
	abstract protected void onTaskOver(String result);

	/**
	 * 一般用于获取网络数据
	 * 
	 * @author 包子大叔
	 * @time 2013-8-15 下午4:14:58
	 */
	public class MyTask extends AsyncTask<Void, Void, Boolean> {
		String result = "";

		@Override
		protected Boolean doInBackground(Void... params) {
			result = doInTask();
			return true;
		}

		@Override
		protected void onPostExecute(final Boolean success) {
			myTask = null;
			showDialogLoading(false);
			onTaskOver(result);
		}

		@Override
		protected void onCancelled() {
			myTask = null;
			showDialogLoading(false);
		}
	}
}



    
[2] 关于JQueryMobile的缓存跟预取 转
    来源: 互联网  发布时间: 2014-02-18
关于JQueryMobile的缓存和预取 转
关于JQueryMobile的缓存和预取(原创译文)

 

1. 预取页面      Prefetching pages (总觉得不应该这样翻译,应该叫预加载)

说明:当采用single-page类型时,我们可以预先加载页面到dom树里(ps:通过浏览器的查看可以看到,ff里是浅色)。jqm会在当前page加载后,加载那个具有 data-prefetch 标签(target)的page,这时候pagecreat事件就被触发,你就可以在dom里面看到这个页面本没有的pages。

方法:1. <a id="setting" data-icon="custom" href="/blog_article/settings.html" data-prefetch >设置</a>

            2.  $.mobile.loadPage( pageUrl, { showLoadMsg: false } );

优点:当预取页面时候,用户看不到ajax请求页面的信息(ps:只要不是多图杀猫时代)。

经过本人测试:页面不预取的情况跳转链接页面时候会出现菊花,当预取之后,菊花没有了,速度提升了,但是设定预取的页面会出现页面已经加载完毕,联网的菊花还在转,说明程序在ajax预取!反正你都会看到菊花^_^!!! 适用场景:因为预取页面会产生额外的HTTP请求并占据了带宽,所以明智的选择是:预取的页面被访问可能性是最高的。所以一般会被应用于 相片画廊,让用户可以快速在相片之间切换。

2.控制dom大小 DOM size management

对于页面的动画切换(沙发里浏览器支持的最好),两个切换的页面都需要在dom里,因此,旧的页面可能会占满浏览器的缓存空间,甚至会导致一些移动浏览器运行缓慢,或崩溃(我的touch就崩了)。

因此,jqm提供一个简单的机制来控制dom的大小。

只要是通过ajax加载的页面,当你长时间(ps:具体多长时间文档没有说,我是测试到了,如果你把预取的页面射到缓存里,那么你肯定看不到这个效果)不去访问他jqm 会标记并从dom中删除他,如果你重新访问一个被删除的页面,浏览器会从他的缓存里面找这个网页对应的html文件,如果没有缓存,就只能从服务器重新获取。(In the case of nested list views, jQuery Mobile removes all the pages that make up the nested list once you navigate to a page that's not part of the list)。

这个机制对多网页页面不受用,因为jqm只删除那些通过ajax加载的页面。

3.dom 缓存 

Caching pages in the DOM

我们可以告诉jqm保留那些我们之前访问过的页面,而不是删除她们。

方法: 1.$.mobile.page.prototype.options.domCache = true;

             2.<div data-role="page" id="cacheMe" data-dom-cache="true">

             3.pageContainerElement.page({ domCache: true });

这部分就没什么可翻译了。

 

原文地址:

http://jquerymobile.com/demos/1.0/docs/pages/page-cache.html


    
[3] 解决Intellij Idea中Appearance使用默认字体Messages Tab中文字显示方块的有关问题
    来源: 互联网  发布时间: 2014-02-18
解决Intellij Idea中Appearance使用默认字体Messages Tab中文字显示方块的问题
Intellij IDEA的UI使用默认字体还是最漂亮的(不是editor,是界面,比用宋体好看多了),但是因为不支持中文所以如果有中文的时候会显示成方块字。 其实我们只要让idea的jre的环境是en的话 就能让Messages Tab显示英文而不是中文。 就解决中文方块字的问题。

修改JetBrains\IntelliJ IDEA 12.1.4\bin\idea64.exe.vmoptions文件 在最后加多一行。

引用
-Duser.language=en
  重启idea就行了。

    
最新技术文章:
▪Android开发之登录验证实例教程
▪Android开发之注册登录方法示例
▪Android获取手机SIM卡运营商信息的方法
▪Android实现将已发送的短信写入短信数据库的...
▪Android发送短信功能代码
▪Android根据电话号码获得联系人头像实例代码
▪Android中GPS定位的用法实例
▪Android实现退出时关闭所有Activity的方法
▪Android实现文件的分割和组装
▪Android录音应用实例教程
▪Android双击返回键退出程序的实现方法
▪Android实现侦听电池状态显示、电量及充电动...
▪Android获取当前已连接的wifi信号强度的方法
▪Android实现动态显示或隐藏密码输入框的内容
▪根据USER-AGENT判断手机类型并跳转到相应的app...
▪Android Touch事件分发过程详解
▪Android中实现为TextView添加多个可点击的文本
▪Android程序设计之AIDL实例详解
▪Android显式启动与隐式启动Activity的区别介绍
▪Android按钮单击事件的四种常用写法总结
▪Android消息处理机制Looper和Handler详解
▪Android实现Back功能代码片段总结
▪Android实用的代码片段 常用代码总结
▪Android实现弹出键盘的方法
▪Android中通过view方式获取当前Activity的屏幕截...
▪Android提高之自定义Menu(TabMenu)实现方法
▪Android提高之多方向抽屉实现方法
▪Android提高之MediaPlayer播放网络音频的实现方法...
▪Android提高之MediaPlayer播放网络视频的实现方法...
▪Android提高之手游转电视游戏的模拟操控
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3