Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/205.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
我应该把什么作为上下文-FFmpeg-Android/Java_Java_Android_Ffmpeg - Fatal编程技术网

我应该把什么作为上下文-FFmpeg-Android/Java

我应该把什么作为上下文-FFmpeg-Android/Java,java,android,ffmpeg,Java,Android,Ffmpeg,我正在关注,我想知道我应该把什么作为上下文 我的职能 然后我像这样调用我的函数(来自同一个类): 上下文应该是您的活动上下文或应用程序上下文。如果在片段中使用它,可以执行getActivity(),这将返回活动上下文。如果您在活动中使用它,您可以执行您的活动\u名称。此如果您在活动中写入它,您可以通过传递此来传递活动实例。或者,如果上下文实例将超过活动的生存期,则可以将应用程序上下文作为this.getApplicationContext() 更新: public class AndroidAp

我正在关注,我想知道我应该把什么作为上下文

我的职能 然后我像这样调用我的函数(来自同一个类):


上下文应该是您的活动上下文或应用程序上下文。如果在片段中使用它,可以执行
getActivity()
,这将返回活动上下文。如果您在活动中使用它,您可以执行
您的活动\u名称。此

如果您在
活动中写入它,您可以通过传递
来传递
活动
实例。或者,如果
上下文
实例将超过
活动
的生存期,则可以将
应用程序
上下文作为
this.getApplicationContext()

更新:

public class AndroidApplication extends Application {

    private static AndroidApplication sInstance;


    public static AndroidApplication getInstance() {
      return sInstance;
    }

    @Override
    public void onCreate() {
      super.onCreate();  
      sInstance = this;
    }


}
在您的
AndroidManifest.xml
文件中,将此行添加到
应用程序
标记中:

android:name="yourPackage.AndroidApplication"

现在,您可以将
AndroidApplication.getInstance()作为
context
传递

我会使用
应用程序
上下文,因为他们(可能)没有对涉及UI的
上下文
做任何事情,他们可能会使用它来初始化一个单例(因此任何其他
上下文
都会表示内存泄漏)。但是,我没有使用这个库,所以我不知道这种方法是否会导致任何问题。非常感谢您的帮助!但是,当我运行您的代码时,我遇到了一个错误:
无法从静态上下文引用
可能您在静态方法中有该方法。你在哪里调用这个方法?在一个活动中?你能删除该方法的静态关键字吗?好的,当然,很抱歉混淆-我对android开发非常陌生。我已经更新了我的问题。现在我得到
错误:(37,40)错误:不兼容类型:RNGifMakerModule无法转换为上下文
有什么想法吗?非常感谢你帮助我
FFmpeg.getInstance(this);

FFmpeg.getInstance(this.getApplicationContext());
public class AndroidApplication extends Application {

    private static AndroidApplication sInstance;


    public static AndroidApplication getInstance() {
      return sInstance;
    }

    @Override
    public void onCreate() {
      super.onCreate();  
      sInstance = this;
    }


}
android:name="yourPackage.AndroidApplication"