Hello Ivanhoe,

have a look at the StockList Demo for iOS code, which is included in the Lightstreamer distribution. You will notice in the StockListViewController an unsubscribeItems method. This method is called only when the app enters background mode, but if you add a little button somewhere that calls this method you will see it does stop the subscription. Calling the subscribeItems will restart the subscription.

My suggestion for you is to refactor your code so that you can selectively subscribe and unsubscribe your items entering and exiting specific view controllers, similarly to what the StockList Demo does. Besides this, the Lightstreamer library has no way to guess what you are putting on the screen, if it's not you that stop the subscriptions the library surely can't.

About connection constraints, the right way to use them is to create an LSConnectionConstraints, set the maxBandwidth in kbit/sec and then either: add it to a LSConnectionInfo (method setConstraints) during the initial setup of the Lightstreamer connection, or use it to change an open connection (method changeConnectionWithConstraints of LSClient). For example:

LSConnectionConstraints *constraints= [[LSConnectionConstraints alloc] init];
constraints.maxBandwidth= 10.0;
[myClient changeConnectionWithConstraints:constraints];

Hope this helps.
Best regards,

Gianluca