小编May*_*hta的帖子

使用setRetainInstance(true)将Context传递给Fragment中的ArrayAdapter会导致泄漏吗?

我有一个ListFragment,它将通过ArrayAdapter显示项目列表,我正在尝试处理配置更改(设备轮换)我觉得将活动上下文传递给Array Adapter可能会导致在轮换时重新启动Activity时出现内存泄漏并且保留ListFragment适配器,因为我正在使用setRetainInstance(true),有人可以告诉我,如果我的理解是真的吗?如果是这样,处理这个问题的最佳方法是什么.是的,我不想在我的适配器onDetach上取消它,并在重新创建片段视图后重复使用它.

    public class DummyXListFragment extends RoboSherlockListFragment{

        @Override
        public void onCreate(Bundle savedInstanceState) {   
             super.onCreate(savedInstanceState);
             setRetainInstance(true);   
         }   

         @Override
         public void onActivityCreated(Bundle savedInstanceState) {
             super.onActivityCreated(savedInstanceState);


            if (adapter == null)
            adapter = new DummyItemAdapter(getActivity(),
                android.R.layout.simple_list_item_1, list);

    }
Run Code Online (Sandbox Code Playgroud)

android memory-leaks android-arrayadapter android-fragments android-activity

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

Android HttpURLConnection PUT 到 Amazon AWS S3 403 错误

使用具有签名、到期日和访问密钥的预签名 URL 将文件上传到 Amazon S3,使用以下代码我可以使用普通的 java 代码上传文件,但在 Android 中相同的代码给了我 403 错误。使用 Amazon SDK 生成预签名 URL

我已阅读http://developer.android.com/reference/java/net/HttpURLConnection.htmlhttp://android-developers.blogspot.com/2011/09/androids-http-clients.html但无法阅读弄清楚我应该使用什么标头参数,我猜在 android 中它是在服务器拒绝的请求中设置标头

    HttpURLConnection connection=(HttpURLConnection) url.openConnection();
    connection.setDoOutput(true);
    connection.setRequestMethod("PUT"); 
    OutputStreamWriter out = new OutputStreamWriter(connection.getOutputStream());
    out.write("This text uploaded as object.");
    out.close();
    int responseCode = connection.getResponseCode();
Run Code Online (Sandbox Code Playgroud)

异常:403;签名不匹配:-o

有没有人遇到过这个问题?或者更多关于从android库在幕后添加哪些Header参数的细节?

java android put amazon-s3 httpurlconnection

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

使用Otto将数据从Activity传递到Fragment

在我的应用程序中,我正在动态地将Fragments添加到主活动视图中的容器中.我想知道在添加Fragment时使用Otto时传递数据的最佳方法是什么.目前我正在这样做,请在示例中我不发布我的CustomObject

在我的主要活动中

    getSupportFragmentManager().beginTransaction()
                    .add(R.id.fragment_container, MY_CUSTOM_FRAGMENT).commit();
    BusProvider.getInstance().post(produceCustomString());
Run Code Online (Sandbox Code Playgroud)

在我的片段里面

    @Subscribe
    public void onCustomStringChanged(String customString) {
    } 
Run Code Online (Sandbox Code Playgroud)

android android-fragments android-activity otto

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