虽然这些东西很简单有时候还真的让你搞混
@Override
protected void onPause() {
super.onPause();
SharedPreferences prefs = getSharedPreferences("X", MODE_PRIVATE);
Editor editor = prefs.edit();
editor.putString("lastActivity", getClass().getName());
editor.commit();
}
public class Dispatcher extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Class<?> activityClass;
try {
SharedPreferences prefs = getSharedPreferences("X", MODE_PRIVATE);
activityClass = Class.forName(
prefs.getString("lastActivity", Activity1.class.getName()));
} catch(ClassNotFoundException ex) {
activityClass = Activity1.class;
}
startActivity(new Intent(this, activityClass));
}
}
上面的方法通常保存一个activity以便下次发动
2.
@Override
public void onSaveInstanceState(Bundle savedInstanceState) {
// Save UI state changes to the savedInstanceState.
// This bundle will be passed to onCreate if the process is
// killed and restarted.
savedInstanceState.putBoolean("MyBoolean", true);
savedInstanceState.putDouble("myDouble", 1.9);
savedInstanceState.putInt("MyInt", 1);
savedInstanceState.putString("MyString", "Welcome back to Android");
// etc.
super.onSaveInstanceState(savedInstanceState);
}
@Override
public void onRestoreInstanceState(Bundle savedInstanceState) {
super.onRestoreInstanceState(savedInstanceState);
// Restore UI state from the savedInstanceState.
// This bundle has also been passed to onCreate.
boolean myBoolean = savedInstanceState.getBoolean("MyBoolean");
double myDouble = savedInstanceState.getDouble("myDouble");
int myInt = savedInstanceState.getInt("MyInt");
String myString = savedInstanceState.getString("MyString");
}
这个上次已经记过了用来旋转保存状态最好
中性;
- 布尔值的定义 BOOL yes or no。
- SEL 是方法指针 SEL sel = @selector(start:);
- NSObject 管理内存回收
- ivar 存在于 heap 中(貌似与C++相同)
- selector 是一个术语,在实例收到消息时根据 selector 找到相应的代码执行。(通常就是指方法)
- objc 通过消息调用方法,消息是一个字符串。
- 方法名和变量名共同组成 Message ,如果变量顺序不同,则变成另一个方法
- id 跟 NSObject 类似,不过当调用 id 的方法时编译器不会报错,所以在多态的使用上应该优先使用 id。
- 编译器并不了解分配内存的方式,分配内存由用户来做。
- objc 假设用户了解自己在做什么,所以没有类型判断语法。
方便之处:
- nil.child 返回 nil ,无须害怕空指针。
我看过一些手机论坛上面都教导别人精简SYS的时候可以精简SYS\Base_Lang_0804\Hwtouch.dll,其实这个是错误的,Hwtouch.dll是用来支持触屏的,所以不可删除!