动画效果之360桌面清除动画(一)

方法一:

思路:为了模仿替换效果,首先个图片设置一张背景颜色,然后再分别准备三张纯色的红,黄,绿图片.当可用内存的比例小于等于50%的时候,显示绿色图片背景;当可用内存比例在50%到75%之间的时候,显示黄色图片背景;当可用内存比例大于75%显示红色背景图片.这种方法是通过画布Canvas的clipRect()加上Handler+Message机制实现的.

在这个程序中不经意间发现了内存泄露的问题,问题原因是多线程的问题.下面会阐述.

首先看正确 的代码

public class MainActivity extends Activity {private ImageView img;private Bitmap bmp_full;private Bitmap bmp_mid;private Bitmap bmp_min;private int num = 1;private boolean isFinished = true;private static final int START = 1;private Handler handler = new Handler() {public void handleMessage(Message msg) {switch (msg.what) {case START:int number = (Integer) msg.obj;if (number <= 50) {img.setImageBitmap(getBitmap(bmp_min, number));} else if (number > 50 && number <= 75) {img.setImageBitmap(getBitmap(bmp_mid, number));} else if (number > 75 && number <= 100) {img.setImageBitmap(getBitmap(bmp_full, number));}isFinished = true;break;}};};@Overrideprotected void onCreate(Bundle savedInstanceState) {setContentView(R.layout.activity_main);img = (ImageView) findViewById(R.id.img);bmp_full = BitmapFactory.decodeResource(getResources(),R.drawable.taskmanager


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部