2014.10.14遇到的问题及总结

来源:互联网 发布:知恩中学美术班好吗 编辑:程序博客网 时间:2024/05/22 00:14

今天在写程序的时候遇到一个警告:ActivityManager: Warning: Activity not started, its current task has been brought to the front

没想明白,然后google了一下,才发现这是Android的一种机制(应该叫这个机制这个名称吧)。

有时候我们按下back按钮或是home键,其实有时候没有真正退出程序。Android虚拟机没有结束这个进程,而是以缓存的形式在Android虚拟机中存在,只有在内存不足的情况下,才会回收这部分内存。其实这样做有好处,当我需要快速启动这个程序的时候,速度非常快。

所以出现这种情况是因为我的程序没有发生变化,而且内存足够用,直接将缓存Cached状态放置到任务栈的顶端,这样达到了快速启动的效果。

要消除这个警告,只需要在手机上把这个后台清理了即可。

总结:

今天学的不多,就学习了事务和升级数据库的方法。

一.事务。

事务就是保证让一系列的操作要么全部完成,要么一个都不完成。

1.调用SQLiteDatabase的beginTransaction()方法开启一个事务。

2.当所有的操作都完成之后,调用setTransactionSuccessful()表示事务以及成功执行。

3.调用endTransaction()方法来结束事务。

SQLiteDatabase db = dbHelper.getWritableDatabase();db.beginTransaction();try {db.delete("Book", null, null);ContentValues values = new ContentValues();values.put("name", "C++");values.put("author", "Sucre");values.put("pages", "262");values.put("price", 236);db.insert("Book", null, values);db.setTransactionSuccessful();} catch (Exception e) {e.printStackTrace();} finally {db.endTransaction();}



二,升级数据库

当指定的数据库的版本号大于当前数据库的版本号时,就会进入onUpgrade()方法中去执行更新操作。










0 0
原创粉丝点击