小编Sid*_*Sid的帖子

Android - 记录启动延迟的问题

我正在尝试记录我的应用程序的启动延迟.我这样做的方法是设置应用程序的开始时间Application.onCreate并提供返回时间的公共方法.

MyApplication extends Application {
    Date startUpTime;
    //Declare variables
    @Override
    public void onCreate() {
        super.onCreate();
        setStartupTime();
        //other initializations
    }

    private void setStartUpTime() {
        startUpTime = new Date();
    }

    public Date getStartUpTime() {
        return startUpTime;
    }
}

MyActivity extends Activity {
.
.
.
    @Override
    public void onStart(){
        logStartUpLatency();
        //other onStart stuff
    }

    private void logStartUpLatency() {
        Date currentTime = new Date();
        Date startTime = (MyApplication)getApplicationContext().getStartUpTime();
        long latency = currentTime.getTime() - startTIme.getTime();
        Log.d("Start up Latency is ", …
Run Code Online (Sandbox Code Playgroud)

android adb android-4.4-kitkat nexus-5

13
推荐指数
2
解决办法
315
查看次数

LISP本地/全局变量赋值

如果我们定义一个类似的函数

(defun foo(x)
  (setf x somevalue))
Run Code Online (Sandbox Code Playgroud)

x定义为局部变量还是全局变量?使用setf/q将值设置为全局.如果它是全局的,任何人都可以告诉我如何在lisp中定义局部变量而不是let

谢谢!

请考虑以下示例

(let ((x 0)) 
  (defun foo (y) 
    (when (equal x 0) (setq x y)) 
    (when (< x y) (setq x y))
    x))
Run Code Online (Sandbox Code Playgroud)

当我给一些输入到foo喜欢(foo 2),它返回2,如果我们再次执行功能与(foo 1)它仍返回2和(foo 3)返回3,本是问题是我真正想要什么do.But这怎么可能,因为如果我尝试x从clisp终端访问函数外部的变量,我无法.如果我再次访问该函数,它似乎保留了以前的值x.

谢谢!

lisp common-lisp

9
推荐指数
1
解决办法
2万
查看次数

在已经指定运行时间时解决算法中的问题,例如theta(nlogn)

我这个学期已经学过算法课程,我正试图解决CLRS中的一个问题

2.3-7描述一个theta(n lg n)时间算法,给定一组n个整数和另一个整数x,确定S中是否存在两个元素,其和是x.

我不知道如何处理这个问题.我试图使用合并排序算法解决它,因为它在nlogn时间内完成,但我不知道它是否是正确的方法.

任何人都可以告诉我在已经指定运行时间时解决算法时的一般方法是什么?

谢谢.

algorithm big-o computer-science

1
推荐指数
1
解决办法
153
查看次数