Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在xamarin事件探查器中导出日志_Xamarin_Xamarin.android_Xamarin Studio - Fatal编程技术网

在xamarin事件探查器中导出日志

在xamarin事件探查器中导出日志,xamarin,xamarin.android,xamarin-studio,Xamarin,Xamarin.android,Xamarin Studio,我必须使用xamarin profiler测试一个应用程序。在xamarin profiler中,是否有导出日志的选项?并且可以过滤不需要的日志(系统日志)。以及如何计算从一个活动到另一个活动的应用程序响应时间?非常感谢您的帮助?我认为没有办法导出日志 关于从一个活动到另一个活动的计数使用下面的应用程序类实现有用的方法来计算时间间隔,因为有两个活动 using System; using Android.App; using Android.Runtime; namespace Appname

我必须使用xamarin profiler测试一个应用程序。在xamarin profiler中,是否有导出日志的选项?并且可以过滤不需要的日志(系统日志)。以及如何计算从一个活动到另一个活动的应用程序响应时间?非常感谢您的帮助?

我认为没有办法导出日志

关于从一个活动到另一个活动的计数使用下面的应用程序类实现有用的方法来计算时间间隔,因为有两个活动

using System;
using Android.App;
using Android.Runtime;

namespace Appname
{
[Application]
public class App : Application
{
    public App (IntPtr javaReference, JniHandleOwnership transfer) : base(javaReference, transfer)
    {
    }

    public override void OnCreate ()
    {
        base.OnCreate ();

    }
}
}
在第二个活动开始时和第二个活动开始后,用以下方式测量时间: 随叫随到:

DateTime startTime = DateTime.UtcNow;
第二项活动开始后:

TimeSpan elapsedTime = DateTime.UtcNow - startTime; 
在xamarin profiler中,是否有导出日志的选项? 您可以配置输出路径,然后按CONTROL+S(Windows)或COMMAND+S(OSX)保存快照

  • Windows:工具->选项->将*.mlpds保存到
  • OSX:首选项->常规->输出位置
我总是很难从Xamarin.Profiler导出和重新加载快照;我不能保证它会像预期的那样工作

如果您正在查找Xamarin.Profiler应用程序日志,则它们位于:

  • Windows:[用户路径]/AppData/Local/Xamarin/Log/Xamarin.Profiler
  • OSX:~/Library/Logs/Xamarin.Profiler/
如何计算从一个活动到另一个活动的应用程序响应时间? 您可以向应用程序注册的实现来执行此操作。以下是您可以从中构建的基本示例:

[Application]
public class MyApplication : Application
{
    public MyApplication(IntPtr javaReference, JniHandleOwnership transfer) : base(javaReference, transfer) { 
    }

    public override void OnCreate ()
    {
        RegisterActivityLifecycleCallbacks(new LifecycleCallbacks());
        base.OnCreate ();
    }
}

public class LifecycleCallbacks : Java.Lang.Object, Android.App.Application.IActivityLifecycleCallbacks
{
    Dictionary<Type, System.Diagnostics.Stopwatch> _lifeTimeTrackers = new Dictionary<Type, Stopwatch>();

    public void OnActivityCreated (Activity activity, Bundle savedInstanceState)
    {
        _lifeTimeTrackers [activity.GetType ()] = Stopwatch.StartNew ();
        Event (activity, "created");
    }

    public void OnActivityDestroyed (Activity activity)
    {
        Event (activity, "destroyed");
        _lifeTimeTrackers.Remove(activity.GetType());
    }

    public void OnActivityPaused (Activity activity)
    {
        Event (activity, "paused");
    }

    public void OnActivityResumed (Activity activity)
    {
        Event (activity, "resume");
    }

    public void OnActivitySaveInstanceState (Activity activity, Bundle outState)
    {
        Event (activity, "save_state");
    }

    public void OnActivityStarted (Activity activity)
    {
        Event (activity, "started");
    }

    public void OnActivityStopped (Activity activity)
    {
        Event (activity, "stopped");
    }

    void Event (Activity activity, string eventName)
    {
        var type = activity.GetType ();
        if (_lifeTimeTrackers.ContainsKey (type)) {
            Console.WriteLine ("Lifecycle event " + eventName.ToUpper() + " for '" + type.Name + "' after " + _lifeTimeTrackers [type].ElapsedMilliseconds + "ms");
        }
    }
}
Lifecycle event STOPPED for 'MainActivity' after 3789ms
Lifecycle event DESTROYED for 'MainActivity' after 3789ms
Lifecycle event PAUSED for 'SecondActivity' after 3121ms
Lifecycle event CREATED for 'MainActivity' after 0ms
Lifecycle event STARTED for 'MainActivity' after 7ms
Lifecycle event RESUME for 'MainActivity' after 7ms
Lifecycle event STOPPED for 'SecondActivity' after 3568ms
Lifecycle event DESTROYED for 'SecondActivity' after 3568ms
Lifecycle event PAUSED for 'MainActivity' after 5918ms
Lifecycle event CREATED for 'SecondActivity' after 0ms
Lifecycle event STARTED for 'SecondActivity' after 2ms
Lifecycle event RESUME for 'SecondActivity' after 2ms