我基本上都在询问这两种方法之间的区别:
// A Conn is a connection to a STOMP server. Create a Conn using either
// the Dial or Connect function.
type Conn struct {
conn io.ReadWriteCloser
readCh chan *frame.Frame
writeCh chan writeRequest
version Version
session string
server string
readTimeout time.Duration
writeTimeout time.Duration
closed bool
options *connOptions
}
和
public class myClass extends AppCompatActivity {
private objectType mObject = new objectType();
@Override
protected void onCreate(Bundle savedInstanceState) {
//do stuff with mObject
我希望我足够清楚。我很难理解我们何时想要选择其中一种。
答案 0 :(得分:2)
功能上没什么。
创建Activity对象时会创建第一个(调用new myClass()
)。 Android系统会在创建过程中的某个时刻执行此操作。
当系统最终调用onCreate()
时,将创建第二个。
如果您的构造函数中有一个需要Context
的对象,则会出现问题。你可以这样做:
public class myClass extends AppCompatActivity {
private objectType object = new objectType(this);
@Override
protected void onCreate(Bundle savedInstanceState) {
//do stuff with object
应用程序会突然崩溃,因为您很可能会尝试从Context
中提取尚未存在的资源。 (请记住,此时不会创建活动。)
因此,如果您的对象必须使用Context
,那么您必须在调用onCreate
时或之后创建它。
答案 1 :(得分:1)
正如您可能知道的那样,活动具有明确定义的生命周期。如果你在构造函数和onCreate中创建新实例并不总是重要,但在这些情况下你肯定更喜欢onCreate: