我在下载5 MB文件时遇到问题,在iPhone 5上使用iOS 6.1需要2分多钟.
使用相同iOS版本的iPhone 4S仅需10秒,两者都使用WiFi.
我尝试了不同的缓存策略和NSURLRequest的超时间隔,它没有改变,它仍然需要很长时间.下载是通过HTTP.
我正在使用NSURLConnection类,在下载这个"大"文件之前我正在下载另外两个.
不知道还有什么可以重要,减少时间.
提前致谢.
码:
@interface MyClass : NSObject <NSURLConnectionDelegate>
{
@private id delegate;
NSURLConnection *connection;
NSMutableData* responseData;
//...
}
#import "MyClass.h"
@implementation MyClass
-(void)getObj1:(id)delegateObj
{
delegate = delegateObj;
NSString *url = @"...";
NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:url] cachePolicy:NSURLRequestReloadIgnoringLocalAndRemoteCacheData timeoutInterval:120.0];
connection = [[NSURLConnection alloc] initWithRequest:request delegate:self];
if(connection)
{
responseData = [NSMutableData data];
}
}
-(void)getObj2:(*String)somesString
{
NSString *url = @"...";
NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:url] cachePolicy:NSURLRequestReloadIgnoringLocalAndRemoteCacheData timeoutInterval:120.0];
connection = [[NSURLConnection …Run Code Online (Sandbox Code Playgroud) 我正面临使用FragmentManager替换片段的问题.我的问题是冻结用户界面.我正在努力找到一些好的做法和/或库来处理我的问题.
我的部分代码:
主要活动布局:
<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/my_drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<FrameLayout
android:id="@+id/content"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</android.support.v4.widget.DrawerLayout>
Run Code Online (Sandbox Code Playgroud)
主要活动类
public class MyActivity extends Activity
Run Code Online (Sandbox Code Playgroud)
用方法
public void nextFragment(Fragment fragment, int position) {
fragment.setArguments(new Bundle());
FragmentManager fragmentManager = getFragmentManager();
fragmentManager
.beginTransaction()
.replace(R.id.content, fragment).commit();
}
Run Code Online (Sandbox Code Playgroud)
我的每个片段都像
import android.app.Fragment;
public class SomeFragment extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
RelativeLayout rootView = (RelativeLayout) inflater.inflate(
R.layout.fragment_layout, container, false);
//many long time data downloading & creating view
}
private void nextFragment() { …Run Code Online (Sandbox Code Playgroud) android android-fragments android-fragmentactivity fragmenttransaction