当前位置:  编程技术>移动开发
本页文章导读:
    ▪UIActivityIndicatorView - 加载进度        UIActivityIndicatorView ---- 加载进度UIActivityIndicatorView可以用于显示某项工作在进行中,比如加载进度。在iphone中应用很广泛 用法一:只显示不停旋转的进度滚轮指示器。 //显示进度滚轮指示.........
    ▪ 图片缓存兑现策略分析        图片缓存实现策略分析从网络上加载一张图,然后把它显示到UI上是个很简单的事情。当图片变多时,处理起来就有些麻烦了,很典型的应用场景,如ListView,GridView或者ViePager等。我们既需要.........
    ▪ 解决ubuntu中java1.6显示中文乱码有关问题       解决ubuntu中java1.6显示中文乱码问题如题,中文显示方块是因为java找不到中文字库,需要拷贝中文字库到指定目录,解决方法如下: 1. 进入/usr/lib/jvm/java-6-sun/jre/lib/fonts,新建文件夹fallback   .........

[1]UIActivityIndicatorView - 加载进度
    来源: 互联网  发布时间: 2014-02-18
UIActivityIndicatorView ---- 加载进度

UIActivityIndicatorView可以用于显示某项工作在进行中,比如加载进度。在iphone中应用很广泛


用法一:只显示不停旋转的进度滚轮指示器。
//显示进度滚轮指示器
-(void)showWaiting {
 
progressInd=[[UIActivityIndicatorView alloc]initWithActivityIndicatorStyle:
  UIActivityIndicatorViewStyleWhiteLarge];
progressInd.center=CGPointMake(self.view.center.x,240);
[self.navigationController.view addSubview:progressInd];
[progressInd startAnimating];
}
//消除滚动轮指示器
-(void)hideWaiting 
{
[progressInd stopAnimating];
}



用法二:带有半透明背景的进度轮指示器。

 
//显示进度滚轮指示器
-(void)showWaiting:(UIView *)parent {
 
    int width = 32, height = 32;
    
    CGRect frame = CGRectMake(100, 200, 110, 70) ;//[parent frame]; //[[UIScreen mainScreen] applicationFrame];
    int x = frame.size.width;
    int y = frame.size.height;
    
    frame = CGRectMake((x - width) / 2, (y - height) / 2, width, height);
    UIActivityIndicatorView* progressInd = [[UIActivityIndicatorView alloc]initWithFrame:frame];
    [progressInd startAnimating];
    progressInd.activityIndicatorViewStyle = UIActivityIndicatorViewStyleWhiteLarge;
    
frame = CGRectMake((x - 70)/2, (y - height) / 2 + height, 80, 20);
UILabel *waitingLable = [[UILabel alloc] initWithFrame:frame];
waitingLable.text = @"Loading...";
waitingLable.textColor = [UIColor whiteColor];
waitingLable.font = [UIFont systemFontOfSize:15];
waitingLable.backgroundColor = [UIColor clearColor];
 
    frame =  CGRectMake(100, 200, 110, 70) ;//[parent frame];
    UIView *theView = [[UIView alloc] initWithFrame:frame];
    theView.backgroundColor = [UIColor blackColor];
    theView.alpha = 0.7;
    
    [theView addSubview:progressInd];
[theView addSubview:waitingLable];
    
    [progressInd release];
[waitingLable release];
    
    [theView setTag:9999];
    [parent addSubview:theView];
    [theView release];
}

//消除滚动轮指示器
-(void)hideWaiting 
{
    [[self.view viewWithTag:9999] removeFromSuperview];
}


    
[2] 图片缓存兑现策略分析
    来源: 互联网  发布时间: 2014-02-18
图片缓存实现策略分析
从网络上加载一张图,然后把它显示到UI上是个很简单的事情。当图片变多时,处理起来就有些麻烦了,很典型的应用场景,如ListView,GridView或者ViePager等。我们既需要保证用户看到更多的图片,以免屏幕出现大面积的空白,又要保证内存能Hold住。
GC会自动释放一个没有强引用的图片或者View,这本来是个好事情,但为了让用户来回滚动时还能快速加载老图片,通常会使用图片缓存。这篇文章就分享一下使用memory cache和disk cache来增加UI的响应速度和流畅度。


一、使用memory cache
memory cache花费定量的内存来换取对图片的快速访问。可以使用Support Library中的LruCache来快速实现。过去,我们通常使用SoftReference或WeakReference来实现memory cache,但是在Android 2.3 (API Level 9)之后,GC对SoftReference和WeakReference回收的更快,所以,SoftReference和WeakReference的效果就很差了。而且,在Android 3.0 (API Level 11)之前,Bitmap的像素数据存放在Native Memory中,如何释放是不确定的,存在着内存泄漏,甚至Crash的风险。
为了确定LruCache的大小,我们需要参考如下几个因素:
1、当前进程的剩余内存有多少
2、为了保证良好的用户体验,应用场景显示多少张图片可以满足要求?
3、屏幕的density是多少?不同像素的屏幕对图片质量的要求是不一样的,可以据此在取图时做一些优化。
4、图片被访问的频率是否相差很多?如果是这样的话可以存放在不同的LruCache中。
5、有时需要在数量和质量之间做一些平衡。比如为图片列表在memory cache中缓存较多的缩略图,在UI中先显示缩略图,然后在后台加载一张高清的。


这里没有一个精确的数字来做为指导,需要我们在实际中就以上几个因素进行权衡,设置合适的值。至于如何使用LruCache可以参考Support Library中的Demo。


二、使用Disk Cache
memory cache可以加快图片的访问速度,但内存有限,不可能所有图片都放在memory cache中。当程序先被挤出内存,后又被重新启动时,图片仍需要重新获取。这个时候,可以应用Disk Cache来缓存图片,图片就不需要从网络上获取了,节省了流量,减少了获取时间。但需要注意,Disk Cache的读取涉及到本地IO操作,需要开启后台线程操作。

我们可以像系统Gallery那样使用ContentProvider。另外,Disk Cache也可以很简单地通过Android源码中提供的DiskLruCache来实现。


本文翻译自:http://developer.android.com/training/displaying-bitmaps/cache-bitmap.html


    
[3] 解决ubuntu中java1.6显示中文乱码有关问题
    来源: 互联网  发布时间: 2014-02-18
解决ubuntu中java1.6显示中文乱码问题

如题,中文显示方块是因为java找不到中文字库,需要拷贝中文字库到指定目录,解决方法如下:

1. 进入/usr/lib/jvm/java-6-sun/jre/lib/fonts,新建文件夹fallback

    sudo mkdir fallback

2. 拷贝字库

    sudo cp /usr/share/fonts/truetype/wqy/wqy-microhei.ttc fallback/wqy-microhei.ttc

3. 使字库生效

    sudo mkfontdir

    sudo mkfontscale



    
最新技术文章:
▪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