0
点赞
收藏
分享

微信扫一扫

安卓学习60

今天学习了安卓的一些知识其中主要的是:

Android 程序内存管理必读

很多开发者都是从J2ME 或J2EE 上过来的,对于内存的使用和理解并不是很到位,Android 开发网本次给大家一些架构

上的指导,防止出现豆腐渣工程的出现。Android 作为以Java 语言为主的智能平台对于我们开发一些高性能和质量的软件来

说了解Android 程序内存管理机制是必须的。Android 的Dalvik VM 在基础方面和Sun JVM 没有什么大的区别仅仅是字节码

的优化,我们要知道什么时候用gc 什么时候用recycle 以及到底用不用finalization,因为Java 对内存的分配只需要new

开发者不需要显示的释放内存,但是这样造成的内存泄露问题的几率反而更高。

1.对于常规开发者而言需要了解Java 的四种引用方式,比如强引用,软引用,弱引用以及虚引用。一些复杂些的程序

在长期运行很可能出现类似OutOfMemoryError 的异常。

2.并不要过多的指望gc,不用的对象可以显示的设置为空,比如obj=null,这里Android123 提示大家,java 的gc 使

用的是一个有向图,判断一个对象是否有效看的是其他的对象能到达这个对象的顶点,有向图的相对于链表、二叉树来说开

销是可想而知。

3.Android 为每个程序分配的对内存可以通过Runtime 类的totalMemory() freeMemory() 两个方法获取VM 的一些内存

信息,对于系统heap 内存获取,可以通过Dalvik.VMRuntime 类的getMinimumHeapSize() 方法获取最小可用堆内存,同时

显示释放软引用可以调用该类的gcSoftReferences() 方法,获取更多的运行内存。

4.对于多线程的处理,如果并发的线程很多,同时有频繁的创建和释放,可以通过concurrent 类的线程池解决线程创

建的效率瓶颈。

5. 不要在循环中创建过多的本地变量。有关Android 和Java 的系统性能分析,Android123 将在以后的文章中详细讲

述如何调试Java 分析内存泄露以及Android 上的gdb 调试器分析得出内存性能改进。33. Android 中内嵌字体实现个性化

在Android 中我们的应用可以灵活的内嵌自己的字体文件,实现各个手机上可以正常的显示个性化文字,我们都知道

TextView 的setTypeface 方法可以设置目标文字的显示特性,比如字体、颜色、粗体、斜体等。我们直接找一个TrueTypeFont

的字体文件即.ttf,对于Win32 系统的用户可以直接在Windows/fonts 文件夹中能找到很多。比如微软雅黑就不错,可是体

积太大,由于Android 的Assets 类有单个文件1MB 体积的限制,我们先找个英文字体做测试。这里我们将字体文件

android123.ttf 放到工程的assets 文件夹的fonts 目录中。

Typeface tf = Typeface.createFromAsset(getAssets(), "fonts/android123.ttf");

TextView tv = (TextView)findViewById(R.id.text);

tv.setTypeface(tf); //设置TextView 的风格

tv.setText("CWJ Test");

tv.setTextSize(12);

tv.setTextColor(Color.RED);


举报

相关推荐

0 条评论